|
That is kind of how I am presently implemented it. I am reading through the directory, for each value, I am assigning a MenuItemInfo, then doing a SetMenuItemInfo, followed by the InsertMenuItem. I am doing this since I need to be able to retrieve the appropriate filename. I am using BASE_ID_VALUE+nIndex, where nIndex starts at 0 and I keep adding 1 to it. I have attempted to put code in the WM_COMMAND but I can never seem to capture the command to the menu. If I change the code to use AppendMenu, it seems I can capture the message in the WM_COMMAND but I am not sure how to get the filename associated with the menu item clicked. Any ideas on how I can capture the WM_COMMAND message after the user has clicked on one of the filenames?
|
|
|
|
|
Use the ON_COMMAND_RANGE macro to this. You'll need to reserve 2 command ids, one for each end point of the range.
ON_COMMAND_RANGE (CMD_OPEN_FILE_0, CMD_OPEN_FILE_1024, OnOpenFile)
You'll also need to keep the file list around during the execution of the command.
Alternatively, if you're calling TrackPopupMenu() , use the TPM_RETURNCMD flag to retrieve the selected command id. Then, compute the selected filename and just call an api to do your bidding.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
Try CCmdUI interface for that menu command. In ClassWizzard you actually have 2 messages for a menu_item: ON_ID_menu_item:COMMAND and ON_ID_menu_item:UPDATE_COMMAND_UI. Use the second one for the purpose you face to.
|
|
|
|
|
Alrightie, we're displaying a stream of html text in our CHTMLView, but we've come up with a "quirk".
The html code we're using contains #links to other spots in the same body of text. When the user clicks the links, the html view displays the following instead of moving the page to the desire spot:
"blank#LINK_NAME"
where link name is the name of our link.
Is there a way to make this work like it does in the browser? My guess is that there's no file name associated with the document, and that's why it doesn't work.
------- sig starts
"I've heard some drivers saying, 'We're going too fast here...'. If you're not here to race, go the hell home - don't come here and grumble about going too fast. Why don't you tie a kerosene rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
Would it be possible to override CHtmlView::OnBeforeNavigate2() and replace BLANK# present in the url with just # ? I'm hoping this will cause the embedded browser to simply scroll to the link.
/ravi
My new year's resolution: 2048 x 1536
Home | Articles | Freeware | Music
ravib@ravib.com
|
|
|
|
|
I had a similar problem once. Ended up writing my own Async Pluggable Protocol which did the trick. There is an example from Microsoft available there somewhere called db-2-xml which demonstrates this technique.
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
|
|
|
|
|
I have changed the text and background colours of CEdit's in dialog boxes in the past by overriding OnCtlColor. Now I'm trying to do the same thing with a CEdit in a Control Bar. I thought I would be able to override OnCtlColor in CMainFrame but I'm having trouble getting this to work. CMainFrame doesn't seem to receive the WM_CTLCOLOR messsages, although it receives and successfully handles many other messages from the bar .
I attached the dialog bar to the CMainFrame in OnCreate like this:
m_MessagesDlgBar.Create(this, IDD_MESSAGES, CBRS_BOTTOM, IDD_MESSAGES);
Does anyone know where I'm going wrong? Any assistance would be gratefully received.
Best Regards
Cliff Hatch
|
|
|
|
|
VS 2003
I created a dialog bar using the instructions in this article: (minus the InitDialog addition)
http://support.microsoft.com/default.aspx?scid=kb;en-us;185672
then added a WM_CTLCOLOR handler from within the CDialogBar derived class. Worked fine for me.
Pssst. You see that little light on your monitor? That's actually a government installed spy camera. Smile and wave to big brother!
|
|
|
|
|
Thanks Jack.
It works fine for me too
I have some other dialog bars that I will be able to convert usefully in this manner, to reduce the clutter in CMainFrame.
Best Regards
Cliff
|
|
|
|
|
Compiler: VC6 SP5
OS: Windows XP
I have a program that uses CustomDraw on list controls. Everything works until I add a .manifest file to turn on XP styles. When the .manifest file is in place I get the new look fine except on the list controls. On those I frequently get blank lines.
Any suggestions?
|
|
|
|
|
I'm using Microsoft Visual C++ .NET Standard Edition (2003) on Windows XP.
I just want to create a few console applications to test a few things out, but I can't seem to work out how to add a plain simple .cpp or .h file to a project, or even just open a fresh .cpp or .hpp file. There is no option in the File New dialog to create either of these types of file I can't even add a plain .txt file
Going to Project => Add New Item doesn't help either. I still don't have .cpp or .h or .c to choose from.
Yet I can add everything else: .ico, .bmp, JScript etc etc etc. What's going on?
|
|
|
|
|
Sounds like your install of VS.net is seriously messed up. I suggest reinstall
Alex Korchemniy
|
|
|
|
|
Hi,
For some reason my CListBox, which is flagged as LBS_OWNERDRAWFIXED, does not send a WM_DRAWITEM message when I add strings to it. Without that, I can't draw the text.
Does anyone know how I could draw the text on the ownderdraw listbox, or get it to send WM_DRAWITEM? I have a function to draw the text once I get the DRAWITEMSTRUCT but without that I don't know what to do!
Thanks!
Kelly Ryan
|
|
|
|
|
Nevermind, I figured it out...
Kelly Ryan
|
|
|
|
|
Hi everybody,
I want to create a program like linux that has a kernel and some leyers.If there is some usefull links please tell me.
Thanks.
|
|
|
|
|
Anonymous wrote:
I want to create a program like linux...
That is one tall order. Are you sure you want to embark down the road of creating an operating system?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Why?
I want this program to have Graphic,Security,... leyers.
This makes my work very easy for updates and bugs!
Cheers,
Thanks.
|
|
|
|
|
|
I am making a client server application which for network monitoring in wwhich client will run as NT service.
Now i am really in a fix should i do the project in MFC or C++ builder?
In case of MFC
What are the MFC 's classes and objects which encapsulates "GetUserName()","GetComputerName()","EnumProcess()" and "SetDiCreateDeviceList()" for device lists.
Do u thinks C++ Builder's RAD environment will help in making the project faster?
How different and difficult is it form Visual C++?
Thanks
|
|
|
|
|
brilliant101 wrote:
What are the MFC 's classes and objects which encapsulates "GetUserName()","GetComputerName()","EnumProcess()" and "SetDiCreateDeviceList()" for device lists.
There are none. MFC does not provide a "wrapper" for everything, just those functions and APIs that are common to everyday programs.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
hye!!i need to know what's wrong with this program coding..it will prompt the user to entr 10 numbers b/w 20 and 100 for this i use if structure...here if structure is used for checking whether the user enter the correct number or not. i hav lil problem that it gives the corect result if the user enter incorrect number in start but if in the middle of the program the user enter incorrect number like 12 or any incorrect no. it deals it as a correct number. plz let me know where is my mistake.one more thing i need to know plz tell me which statement i will use to check that the entered number is unique and was not previously entered by the user. Coding is below..
#include<conio.h>
#include<iostream.h>
main()
{
int a[10],i;
cout<<"entr 10 numbers b/w 20 and 100"<<endl;
for(i=0;i<10;i++)
{
cin>>a[i];
if((a[i]<20)||(a[i]>100))
cout<<"entr no b/w 20 and 100"<<endl;
else
="" cin="">>a[i];
}
getch();
}
rose
|
|
|
|
|
The first problem is that you are incrementing the variable i even if the number entered is out of range. The other problem is that you have a second, unnecessary call to cin .
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
the code that u have written.....
only checkz for the validity of th enumber the first time(coz u have used 'if' construct! replace it by 'while'!!!!
it should be.....
for(i=0;i<10;i++)
{
cin>>a[i];
while((a[i]<20)||(a[i]>100))
{
cout<<"entr no b/w 20 and 100"<<endl;
cin>>a[i];
}
}
to check if the number was entered or not before.....u have to check the array,then accepet or reject accordingly.....
i hope thiz aint ur homework!!!!!.....
cheerz.....
"faith, hope, love remain, these three.....; but the greatest of these is love" -1 Corinthians 13:13
|
|
|
|
|
|
Michael Dunn wrote:
How can a number be less than 20 and greater than 100 at the same time?
Only those numbers that have crossed over to the dark side.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|