|
In my MFC application, when the user makes changes to a document, and they try to close it, a dialog box pops up saying, "Save changes to BLAH.txt?". That's what happens in Win98.
But when I run my app in XP, it comes up saying something crazy like: "blah.txt ??????????????????" or something. Note I am not implementing this dialog box, MFC is doing it behind the scenes.
Also the buttons in Print Preview seem to be screwed up as well in XP apposed to the correct button text in Win98.
What the hell?
|
|
|
|
|
Often problems show up on one version of Windows and not another, just like things are fine in Debug, but not in a Release build. Could be unitialized variables being initialized differently, or some other out and out bug. You'll need to work through in the debugger and see what is going on.
Neville Franks, Author of ED for Windows. Free Trial at www.getsoft.com
|
|
|
|
|
Check the language of the XP machine. Sounds like you may right-to-left text enabled, but lack the proper language string files.
|
|
|
|
|
I need to create a dialog box when a user holds down ctrl, then hits g and then d. i can do it if the user hits g, but how do i take care of the ctrl and d keys?
void CMainFrame::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{
if(nChar == 'g')
{
Password dlg;
dlg.DoModal();
}
CFrameWnd::OnKeyDown(nChar, nRepCnt, nFlags);
}
any ideas? I've tried if((nChar == 'g') && (nChar == 'd')) but that didn't work.
*.*
cin >> knowledge;
|
|
|
|
|
at the same time ? or ctrl-g then d ?
for the ctrl-g you can create an accelerator for it, and in it you start polling for a key down and capture the "g"
or a simple state machine, with the onkeydown, you check the ctrl key with GetKeyState.
at the same time, why so complicated ?
Maximilien Lincourt
"Never underestimate the bandwidth of a station wagon filled with backup tapes." ("Computer Networks" by Andrew S Tannenbaum )
|
|
|
|
|
the user holds down control, and hits , styill holds down control, lets go of g, then hits d, then lets up d and control.
I can't have a menu item or a toolbar icon for this, it's not something users shoudl access, only certain people (the people who fix the program when its broken). Im using OnChar to get the g, should i use OnKeyDown instead?
*.*
cin >> knowledge;
|
|
|
|
|
Rather than try to implement some kludgy combination of keystrokes, I would think simply starting the program with a special command-line argument would be way easier.
|
|
|
|
|
You could trap the Ctrl-g as shown, set a flag.
Trap Ctrl-d, and if the flag is set, do your thing.
If any other key is pressed, reset the flag.
Facts do not cease to exist just because they are ignored
Aldous Huxley (1894 - 1963)
|
|
|
|
|
this was my origional idea, but i don't understand how i can trap both the ctrl and the g at the same time. in OnChar, the variable nChar is only one value, correct? unless i'm mistake, how can i look for 2 keys at the same time?
*.*
cin >> knowledge;
|
|
|
|
|
keegan wrote:
how can i look for 2 keys at the same time?
You can't, unless they are keys like Ctrl, Shift, and Alt, which can be pressed simultaneously.
In your character-detection code:
if (Ctrl+g was pressed)
set flag = T
else
{
if (d was pressed)
{
if (flag equals T)
}
else
set flag = F
} Make sense?
|
|
|
|
|
Hi all can any one provide me with a code that recognizes clicks and double clicks in Journal record Hooks
take care
regards
Basim
|
|
|
|
|
I am having touble developing a MFC project to switch images on tool bar buttons. First I can not get the following code to display predefined bitmap images in the toolbar.
The desired result of this code is, of course, to produce the desired images on the tool bar and then have the images switch as the tool bar button is toggled... the toggling code will be implimented in an OnUpdateUI handler which is another part of this project.
The updating code will look something like this...
void CMainFrame::OnUpdateSwitch_134(CCmdUI* pCmdUI)
{
m_bSwitch134 = !m_bSwitch134;
if( m_bSwitch134)
SwitchToolBar.OnChangeButton( IDB_ON, 1, RGB(0,0,0));
else
SwitchToolBar.OnChangeButton( IDB_OFF, 1, RGB(0,0,0));
}
This code compiles fine but the tool bar is blank...
Would appreciate any comments or help.
Thanks...
Ozzy
CToolBarCtrl SwitchToolBar;
CImageList* m_ptrImageList;
CImageList SwitchImageList;
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
TBBUTTON tb;
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// create CToolBarCtrl toolbar
SwitchToolBar.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|TBSTYLE_FLAT,
CRect(0,0,0,0), this, IDR_TOOLBAR1);
// create ImageList from IDB_SWITCH_IMAGES
SwitchImageList.Create( IDB_SWITCH_IMAGES, 20, 1, RGB(192,0,192));
// get image list pointer
m_ptrImageList = SwitchToolBar.GetImageList();
// set image list for SwitchToolBar
SwitchToolBar.SetImageList( m_ptrImageList );
// assign elements in TBBUTTON structure
tb.iBitmap = 0;
tb.iString = NULL;
tb.fsState = TBSTATE_ENABLED;
tb.fsStyle = TBSTYLE_BUTTON;
tb.idCommand = 0;
// add buttons to list
SwitchToolBar.AddButtons(1, &tb );
return 0;
}
|
|
|
|
|
After insert the JpegLib project into my own project, when compiling it there is one error:
\jpeglib\jmorecfg.h(238) : error C2371: 'boolean' : redefinition; different basic types
\vc98\include\rpcndr.h(173) : see declaration of 'boolean'
in jmorecfg.h, it is defined as bellow:
#ifndef HAVE_BOOLEAN
typedef int boolean;
#endif
while in VC rpcndr.h there is another define:
typedef unsigned char boolean;
if I delete two include file, this problem doesn't appear:
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h>// MFC support for Internet Explorer 4 CommonControls
but these two include files is useful for me ,so I can't delete them
if I don't delete these two include files and add
#define HAVE_BOOLEAN
before
#include "jpglib.h"
the redefinition error doesn't appear also, but the Jpeg image can't display correctly, so I need help。
swandream
|
|
|
|
|
I remember having this problem with the INT32 defintion. I just deleted the entire redefinition in the jpeg library source code and it worked fine.
|
|
|
|
|
thanks, I have solved this problem, I always put the MFC include files in "stdafx.h" now I put them into other files which needing them, then the problem is solved, thanks for your reply.
swandream
|
|
|
|
|
Ok here is the image so you can see the problems related to the questions:
Image
1- I use this to draw the Check in the menu
DrawFrameControl(lpdis->hDC,&rcCheck,DFC_MENU,DFCS_MENUCHECK | DFCS_TRANSPARENT);
But as you can see I can't have the background color the same as the side bar.
2 - The Submenu Arrow is always drawn, is there a way to prevent windows from drawing it and I would use the same function as the check mark for that too.
3 - The menu Window has a sort of border which match's windows colors, Is there a way that I could paint this border another color to make the menu look like a flat one.
Using Win32 API, no MFC ATL or WTL.
Using Visual Studio .NET 2003, Windows XP SP1
If you need more code or other stuff to help, just say so.
Thank You for any replies
David
|
|
|
|
|
Hi all..
I'm having quite an annoying problem. Every time I use DeleteAllItems() on a tree view in my application, all items I try to add to that tree view afterwards don't show up!
I've made a little MFC example displaying the problem:
http://www.blacksmith-studios.dk/tree_testing.rar
Please read the Readme.txt file before checking out the actual program
I really hope you guys have some qualified answers, since I cannot understand why this ain't working properly!
Huge thanks in advance!
Søren Dreijer
|
|
|
|
|
Dear All:
I am a jackeroo with the visual c++ programming. And i come from china. I have worked for one year. I am work hard, and i long for improving my ability of visual c++ programming. But I don't know how to do it, may sometimes i will have some problems . I long for friends who have more wisdom with visual c++ programming . I wish to make some friends in here.
May we make a friends? I wish....
My ICQ is 227328184 or MSN: michaelwan007@hotmail.com;P
|
|
|
|
|
Let's get great improvements, hand in hand.
Tomorrow will be better and better!
|
|
|
|
|
Thanks,my friends. I am glad to meet you.
|
|
|
|
|
Hi Welcome ...
(I'm sorry, I had to look it up )
jackeroo : a young male management trainee on a sheep or cattle station
http://www.wordreference.com/english/definition.asp?en=jackeroo
Maximilien Lincourt
"Never underestimate the bandwidth of a station wagon filled with backup tapes." ("Computer Networks" by Andrew S Tannenbaum )
|
|
|
|
|
Hi Sir:
I am glad to meet you. Can you tell me your ICQ or MSN number? May be we will have a talk if we have free time. Thanks
|
|
|
|
|
Grr, yet another simple problem has me floundering at the CP god's feet. I have some radio buttons, and a combobox. If the radio buttons are not checked, the combobox is greyed out. I'm using the line
GetDlgItem( IDC_CAL_TRANSDUCER )->EnableWindow(m_bitControls[bool_cal_xducer]);
to do this. My problem lies with re-enabling it. I have my OnBnClicked() thingamajobber, but i have no idea what to put in there to re-enable it. I've tried a ton of different functions, but they either completely hide the combobox or just don't do anything.
any help?
*.*
cin >> knowledge;
|
|
|
|
|
Doesn't EnableWindow(true) work?
modified 12-Sep-18 21:01pm.
|
|
|
|
|
argh, i new it was something simple! thanks.
*.*
cin >> knowledge;
|
|
|
|