We are going to take a cruise through Bulgaria and wondered if we will need to exchange money or if we can use Hungarian or euros for incidentals.
No one is going to want Hungarian forints. Bulgaria and Hungary don't even share a border. There might be some places in Bulgaria that would take euros and give you change in leva, but you can't count on that being the case when you need for it to be, and you would get a poor exchange rate, always paying substantially more for things than the going price. I recommend using a bank ATM (look for one inside a bank or mounted in the outer wall of a bank) and withdrawing a small amount of leva. You will be able to perform the transaction in English. Do not accept the offer to convert the amount withdrawn to dollars; that would mean another bad exchange rate. Conduct the transaction in leva.
There are currenly 1.73 leva to the dollar. You won't be able to do much of anything with Bulgarian leva outside Bulgaria except give them away as souvenirs, and you'll probably be able to use your credit card for most purchases, so don't withdraw too many leva from the ATM.
Perhaps your river trip either begins or ends in Romania, and maybe you have stops in Bulgaria, Serbia, Croatia and Hungary? That's a traveler's currency conversion daily quiz as each country has their own money and none are transferable from one to another. All of them have very interesting looking money.
That region is my favorite in Europe.
That's right! Yet, there are a lot of places in cities in Bulgaria that may exchange you dollars to leva at 1.70. So not big of a difference. I think you wont exchange thousands.