|
Hi,
I have problem with inserting image in the HeaderCtrl of CListCtrl..
I tried to insert a column a follows
InsertColumn( 0, "text", LVCFMT_LEFT, 100 );
soon after this statement I called the GetItem of the headerctrl as follows
HDITEM stHeaderItem = {0};
stHeaderItem.mask = HDI_IMAGE;
stHeaderItem.iImage = -1;
GetHeaderCtrl.GetItem( 0, &stHeaderItem );
Now I am getting the image index as 0.The expected result is -1( Since i haven't set any image).
Why this is happening?
nave
|
|
|
|
|
iImage parameter is the Zero-based index of an image within the image list
no matter you are setting image or not
Knock out 'T' from CAN'T ,
You 'CAN' if you think you 'CAN'
|
|
|
|
|
By setting image I mean setting the Iimage member of the LVCOLUMN structure
nave
|
|
|
|
|
Try Using this:
<br />
CImageList *ImgHeaders = new CImageList; ImgHeaders->Create(Bitmap ID, 16, 3, RGB(255, 0, 255));<br />
HDITEM hditem;<br />
CHeaderCtrl *headerCtrl;<br />
headerCtrl = new CHeaderCtrl();<br />
headerCtrl = m_pScanList.GetHeaderCtrl();<br />
headerCtrl->SetImageList(ImgHeaders);<br />
<br />
<br />
for (int i = 0; i < headerCtrl->GetItemCount(); i++)<br />
{<br />
hditem.mask = HDI_IMAGE | HDI_FORMAT;<br />
headerCtrl->GetItem(i, &hditem);<br />
hditem.fmt |= HDF_IMAGE;<br />
if (i == 0 )<br />
hditem.iImage = Image ID;<br />
else<br />
hditem.iImage = Image ID;<br />
<br />
headerCtrl->SetItem(i, &hditem);<br />
}
Cheers
"Peace of mind through Technology"
|
|
|
|
|
What happens if I explicitly set the image number to 0 while inserting? By the above code I cannot distinguish them..isn’t it?
nave
|
|
|
|
|
Hi. Why the clone function doesn't change pixelformat when cloning the whole image?
When I have loaded bitmap that is 256x256 and has 8bpp, the new image that is written in bitmap2 object has still 8 bpp:
Bitmap * bitmap2 ;
bitmap2 = bitmap->Clone(0, 0, 256, 256, PixelFormat16bppRGB555 ) ;
But when I'll try to clone some part of it, lets say 255x256 or 256x255 the new PixelFormat of image saved in bitmap2 is 16bpp.
Why is that ?
How can I change the format of pixels not using Bitmap::ConvertFormat() function which is not included in GDI+ 1.0.
|
|
|
|
|
Dear all,
I would like to know what the Dispatch message actually does?I havent quite understood what it does?
does it send the message to the message queue?
thanx!
|
|
|
|
|
namasthe,
Dispatch message will send the message to the corresponding applications
window procedure.
r u from AP???
Regards,
Prashanth.v
|
|
|
|
|
what if the application has no window?....then?
nope not from AP!....
thanx!
|
|
|
|
|
The system automatically creates a message queue for each thread. If the thread creates one or more windows, a message loop must be provided; this message loop retrieves messages from the thread's message queue and dispatches them to the appropriate window procedures
You create a message loop by using the GetMessage and DispatchMessage functions.
// Start the message loop.
while( (bRet = GetMessage( &msg, NULL, 0, 0 )) != 0)
{
if (bRet == -1){
// handle the error and possibly exit
}
else{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
} // Return the exit code to the system.
return msg.wParam;
The DispatchMessage function dispatches a message to a window procedure. It is typically used to dispatch a message retrieved by the GetMessage function
Appu..
"If you judge people, you have no time to love them."
|
|
|
|
|
what if tehre is no window for taht thread?...then?where does teh message go?...moreover how is routing the mesg to a particulatr window possible?....Dispatch Message has only one parameter.....????
cheerz!
|
|
|
|
|
Hi,
Can you tell me how to create a simple application to extract all text in current prompt window and then save it as a text file!
I can do it by hand but i still want to create an application to do that!
Thank!
|
|
|
|
|
Try this..
HANDLE hStdout;<br />
SMALL_RECT srctReadRect; <br />
CHAR_INFO chiBuffer[160];
COORD coordBufSize; <br />
COORD coordBufCoord;<br />
<br />
<br />
hStdout = GetStdHandle(STD_OUTPUT_HANDLE); <br />
<br />
if (hStdout == INVALID_HANDLE_VALUE )<br />
{<br />
}<br />
<br />
<br />
srctReadRect.Top = 0;
srctReadRect.Left = 0; <br />
srctReadRect.Bottom = 1;
srctReadRect.Right = 79; <br />
<br />
<br />
coordBufSize.Y = 2; <br />
coordBufSize.X = 80; <br />
<br />
<br />
coordBufCoord.X = 0; <br />
coordBufCoord.Y = 0; <br />
<br />
<br />
fSuccess = ReadConsoleOutput( <br />
hStdout,
chiBuffer,
coordBufSize,
coordBufCoord,
&srctReadRect);
if (! fSuccess) <br />
{<br />
printf("ReadConsoleOutput (%d)\n", GetLastError()); <br />
return;<br />
}
Now create a File and write the Buffer into it
Appu..
"If you judge people, you have no time to love them."
|
|
|
|
|
|
A shellExecuting command >> text.txt would help?
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1">--[V]--
[My Current Status]
|
|
|
|
|
I still dont know!Can you explain more...
|
|
|
|
|
Hi All,
can we set flat scrollbars for ListBox control?
-Sarath
|
|
|
|
|
For that you can customize your ListBox
There are to much articles on customization of the Listbox control
Knock out 'T' from CAN'T ,
You 'CAN' if you think you 'CAN'
|
|
|
|
|
can u suggest one?
-Sarath
|
|
|
|
|
See the Following links where you can get number of custom listboxes
here[^]
Knock out 'T' from CAN'T ,
You 'CAN' if you think you 'CAN'
|
|
|
|
|
Hello people,
In my application I use ShellExecute to start a consoleapplication for certain actions. The problem is that the console-application starts up in the foreground.
My application is full-screen, and I don^t want the user to be bothered with the popping up of the console application. Is there any way to start the console application in the background (behind my application) ?
Thanks for any help,
Davy
|
|
|
|
|
The last parameter of the ShellExecute nShowCmd set to SW_HIDE
Knock out 'T' from CAN'T ,
You 'CAN' if you think you 'CAN'
|
|
|
|
|
Yes, SheelExecute prototype is:
HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
and the last aprameter can take following values:
SW_HIDE Hides the window and activates another window.
SW_MAXIMIZE Maximizes the specified window.
SW_MINIMIZE Minimizes the specified window and activates the next top-level window in the z-order.
SW_RESTORE Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window.
SW_SHOW Activates the window and displays it in its current size and position.
SW_SHOWDEFAULT Sets the show state based on the SW_ flag specified in theSTARTUPINFO structure passed to theCreateProcess function by the program that started the application. An application should callShowWindow with this flag to set the initial show state of its main window.
SW_SHOWMAXIMIZED Activates the window and displays it as a maximized window.
SW_SHOWMINIMIZED Activates the window and displays it as a minimized window.
SW_SHOWMINNOACTIVE Displays the window as a minimized window. The active window remains active.
SW_SHOWNA Displays the window in its current state. The active window remains active.
SW_SHOWNOACTIVATE Displays a window in its most recent size and position. The active window remains active.
SW_SHOWNORMAL Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time
One of these should do the trick.
~RaGE();
|
|
|
|
|
Thanks for the quick reply.
SW_HIDE doesn`t do the trick unfortunatly, I had allready tried that. But I`ll try with the one of the other options you suggested. one of 'em should get the job done...
|
|
|
|
|
Try CreateProcess[^]
Hope it helps
The statement below is true. The statement above is false.
|
|
|
|