|
|
My script language app (in C++) can create Toolbars using either system image list icons or app image list icons. Depending on the app control script code, an app toolbar is created in a loop that adds buttons as needed, by sending a TB_ADDBUTTONS message. A little later in the code I send a TB_ADDBITMAP message. This all works fine, and has done for years.
I now want to set a custom button icon by creating a bitmap (of the appropriate size) in memory, then specify this as the button bitmap, rather than loading a Resource. It seems simple enough: in the TBADDBITMAP structure, set the hInst to NULL , and the nID to the handle of the bitmap I created. Then send TB_ADDBITMAP message as before.
I note that the TB_ADDBITMAP message returns a 2. When I add an image from a Resource image list, it returns a 1. Not sure if this is important or not. The message "Returns the index of the first new image". The result is that my toolbar does not display the image I created, instead I get the default button Icon from my script.
I've been through all the TB_ messages to see if I've missed something, and tried a lot of stuff that still won't work.
Is replacing a toolbar icon resource image with a synthesized image actually possible?
Alternatively, is it possible to draw in the toolbar button image? Various test code ideas seems to suggest not.
Stewart DIBBS
|
|
|
|
|
I had exactly the same problem last week. Though it was not when adding a bitmap it was adding text. It may be the same for you. Try creating the toolbar with an extra button, you may find that on your second call to TB_ADDBITMAP, you are actually creating a new button.
You need to create your TBBUTTONS struct, complete with text and bitmaps before calling createtoolbar/createwindow. If you are having any other problems, show me the code you are using to create the toolbar.
|
|
|
|
|
Dear All;
I am trying to create a child dialog on a dialog parent which contains an activex control (ie. microsoft web browser). Upon clicking the button which creates the child dialog, the child appears quickly and then disappears forever.
I dont know but it looks like the activex control is overriding the child dialog !!!
any ideas ?
void CParentDlg::OnBnClickedButton3()
{
// TODO: Add your control notification handler code here
ChildDlg child;
child.DoModal();
//child.ShowWindow(SW_SHOW);
}
llp00na
|
|
|
|
|
Do you see the ActiveX control? Have you called CoInitialize() ?
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
Yes i see the activex control. And no i have not called CoInitialize(). What is it for ?
llp00na
|
|
|
|
|
It appears that the child dialog is encountering an error which is causing it to abort the DoModal() call. Try single-stepping into the DoModal() call with the debugger to see what is causing it to abort.
CoInitialize() is used to initialise COM support in your application. It should be called in any thread that uses COM. Use CoInitializeEx() instead if your application is multi-threaded.
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
okey, i tried single stepping into DoModal() but i could not specify the problem. Besides that, whenever the parent dialog is minimised and maximised again i get the dialog child shown !!!
I am developing a single threaded application.
llp00na
|
|
|
|
|
another things i wana point out. I have tried placing the child window (by specifyin the x, y) in such a way that half of the child dialog is covered by the activex control and the other half is on the parent client area. and guess what ?
half of the child dialog (strictly talking about the part that is on the parent client area) is shown and the other half (being covered by the activex control) is not shown.
Any ideas ???
llp00na
|
|
|
|
|
Hi
i've some problem as i want to read BMP File data as 8*8 blocks
can any one help me
|
|
|
|
|
Are you using LoadImage() to read the .bmp file?
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
No i want to deal with its data byte by byte
|
|
|
|
|
Open the file using CreateFile() . Read the bytes from the file using ReadFile() .
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
thnx a lot for your care but that wasn't wat i thoght
u may be miss under stand me
but thnx any way
|
|
|
|
|
Alinuxcs wrote: that wasn't wat i thoght
u may be miss under stand me
You wanted to process a .bmp file "byte by byte." What's wrong with:
HANDLE hFile;
DWORD dwBytesRead;
BYTE buff;
hFile = CreateFile("c:\\windows\\Coffee Bean.bmp", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
do
{
ReadFile(hFile, &buff, 1, &dwBytesRead, NULL);
} while (dwBytesRead == 1);
CloseHandle(hFile);
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
Hi Alinuxcs,
Can you be more specific,do you need to load a bmp file
|
|
|
|
|
yes i want to load BMP file but not to view it in a form but to deal with its data byte by byte
|
|
|
|
|
any sample to create user true-type font?
I just want to create simple ones for my research.
A nice hyper tool for optimizing your Microsoft html-help contents.
A best image tool for Windows C++ programmers, don't miss it!.
Includeh10
|
|
|
|
|
Hi, I am trying to print a text file with WritePrinter, below is the code I did, I read the file to a buffer and send the buffer to print by WritePrinter, but the printer gets stop printing after the first letter, then i have to press the printer to release the page.
HOW COME IT DOES NOT WANT TO PRINT THE WHOLE TEXT, AND WHY DOES IT STOPS PRINTING.
ANY INFORMATION WILL BE GREATLY APPRECIATED.
void thebuffer(HANDLE hPrinter)
{
FILE * pFile;
long lSize;
char * buffer;
DWORD dwBytesWritten = 0;
pFile = fopen ( "reafile.txt" , "rb" );
if (pFile==NULL)
{cout<<"Can not open file"<
|
|
|
|
|
What is the value of lSize , z , and dwBytesWritten ?
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
I have check that, the reafile.txt only had like 4words,
and lSize=16bytes and dwBytesWritten=16bytes and z=1.
This is what is bugging me, It seem like everything should work.
I came to notice that as I keep trying to print the paper just does not want to come out completely then I have to press a button on the printer to release the paper and from time to time the all the text comes out but from time to time only one Character.
Is there any reason that the printer does not release the paper. Do that problem happens because of the code?
Thank you for replying.
|
|
|
|
|
zaro333 wrote: Is there any reason that the printer does not release the paper.
Have you sent a FF character to the printer?
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
Sorry for the Delay, my professor wanted me to read a paper on superconductivity.
But the answear to your question, I do no think so, does the FF character does anything special?
|
|
|
|
|
zaro333 wrote: ...does the FF character does anything special?
It's a form feed character.
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|