|
Hi, I would like to know how to set focus to a CEdit as soon as the CDialog that the CEdit is in starts. Any help will be greatly appreciated.
|
|
|
|
|
Use class wizard to create a CEdit control that is linked to the edit control on the dialog template, and then in the OnInitDialog() method of your dialog class, call SetFocus(), and then return FALSE.
e.g.
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Do other stuff...
m_edtMyEdit.SetFocus();
return FALSE; // We set the focus elsewhere...
}
Dave
http://www.cloudsofheaven.org
|
|
|
|
|
Thanks Dave, that's exactly what I needed. You are a GREAT help! =)
|
|
|
|
|
Set the Tab-order in your dialog, beginning with your CEdit and the following the 'natural' workflow.
You can do this in the resource editor by hitting 'CTRL-D'.
Who is 'General Failure'? And why is he reading my harddisk?!?
|
|
|
|
|
Hi,
I keep getting an exception if I add any Control variable for any control in the program.
First Chance Exception in Tree.exe (kernel32.dll) :0x0000005: access violation.
Here is the call stack:
KERNEL32! 77e8b4ee()
CString::AllocBeforeWrite(int 7) line 200
CString::AssignCopy(int 7, const char * 0x004268d4 `string') line 315
CString::operator=(const char * 0x004268d4 `string') line 346
CMyTreeView::OnLButtonDown(unsigned int 1598868244, CPoint {x=1598868244 y=1598868244}) line 115
MFC42D! int * _afxInitData + 12 bytes
The above call stack points to this line: int ret = dlg.DoModal();
// CMyTreeView message handlers
void CMyTreeView::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CMfcTree dlg;
int ret = dlg.DoModal();
}
Actually, on the left click on the parent window I open my dialog.
Please help.
Thanks,
Binayak
Binayak
|
|
|
|
|
Given your context, I'd start by examining what the constructor for CMfcTree is doing.
It looks like there's a CString assignment in there which is going wrong. What's your declaration of CMfcTree look like, and what is your default constructor's code?
Steve S
|
|
|
|
|
Hello,
Is it possible to know that your app is closing because the user selected to restart or shutdown windows? It doesn't seem like the OnClose nor the DestroyWindow functions are being called.
Also is it possible to know when someone end tasks your application?
Every time my app is closed I need to run a routine, if its closed via shutdown windows or end task this routine doesn't run and can cause problems.
Any ideas?
Rob
Whoever said nothing's impossible never tried slamming a revolving door!
|
|
|
|
|
My understanding of the problem is that out of the following causes of exiting applications:
1) File | Exit menu option chosen;
2) Exit button on the title bar pressed;
3) The user or an application logs off current session;
4) The user “ends task” using Windows Task Manager;
5) The user or an application shuts down the Windows.
you need to run the routine when the application has some time to do this, namely when the standard shutting down of the application occur, namely when the 1) situation.
If this is true, you need to use standard command ID, namely the ID_APP_EXIT. If you define the OnAppExit() command handler on you class, which inherits from the CWinApp MFC’s class, that command handler should be called when 1) and should not be called when 2) - 5). That’s my understanding; you still need to test all the cases.
Serge
|
|
|
|
|
RobJones wrote:
Is it possible to know that your app is closing because the user selected to restart or shutdown windows?
Yes. Have a look at the WM_QUERYENDSESSION and WM_ENDSESSION messages
RobJones wrote:
Also is it possible to know when someone end tasks your application?
No. End-tasking an application terminates it immediately. It does not tell the application about it at all.
Hope this helps,
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"
|
|
|
|
|
Hi everyone I have some questions about the MFC classes CDatabase and CRecordset.
How can I use connection pooling with the CDatabase? Do I have to use the ODBC API, and if so which environment handle should I use? (The Cdatabase class doesn’t’ provide one and I think that the ODBC API function SQLSetEnvAttr requires one). The point is that I create a CORBA object to which constructor I pass as an argument the address of the CDatabase object. Because of the multiple concurrent instances of the object I don’t know if one database connection (CDatabase) can be shared and used simultaneous, or will I need multiple CDtabase objects.
I also want to change mode (for CRecordset class) from optimistic to pessimistic (SetLockingMode operation). The function accept as an argument a UINT value and I don’t know which value 0 or 1 I think corresponds to optimistic and which to pessimistic.
|
|
|
|
|
Use ADO. I create a new connection for each new thread by mapping the thread it to the connection and add to the map when a find fails..
John
|
|
|
|
|
For the MFC appwizard generated CDialog can someone tell me the RGB Value for the Dialog Window ?
|
|
|
|
|
The dialog color can change depending on how the end-user has their system colors configured. The best way to get the current color is to call the GetSysColor Win32 API. It returns a COLORREF type which is the RGB values in a DWORD .
COLORREF crDlgBg = ::GetSysColor(COLOR_WINDOW);
Kelly Herald
Software Developer
MPC
|
|
|
|
|
Kelly Herald wrote:
::GetSysColor(COLOR_WINDOW);
For a dialog you want COLOR_3DFACE
Sonork 100.11743 Chicken Little
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03
Within you lies the power for good - Use it!
|
|
|
|
|
Whoops! You're right.
Kelly Herald
Software Developer
MPC
|
|
|
|
|
For the MFC appwizard can someone tell me the RGB Value for the Dialog Window ?
|
|
|
|
|
hello people,
i am trying to make a label with a url to my website when people click the url there defaulr browser should open ... but i can't even find the label control ????.I mean where can i view all the availible components? in borland Delphi you can see this on the components pallet
TLabel =>CLabel ?
i am a visual c++ newbie so take it easy with me when i edit my dialog resource there is a little toolbar called controls but there most be more controls somewhere but where ?
this newbie doesn't know
help !
|
|
|
|
|
Use the CStatic control. If you need to be able to modify the text from within your code be sure to change the ID to anything but IDC_STATIC. Create a control variable and change the text with the SetWindowText member function.
Kelly Herald
Software Developer
MPC
|
|
|
|
|
|
Hi,
What is the easy way to convert my SDI MFC program to a dialog based MFC Application?
Thanks,
Binayak
Binayak
|
|
|
|
|
Create a dialog-based application, and copy over the relevant files.
|
|
|
|
|
I was going to post, "Start Over", but that would be cruel. However, that's most likely what you should be doing. Start a brand new dialog based application side by side with your SDI one. Then you will have to cut'n paste from the SDI classes, MainFrame/Document/View, the stuff you need to put into the Dialog class. But be careful, cause there is a whole lot of functionality that won't be coming across too well. Things like printing, file handling just don't fit the dialog based app model. Good Luck.
Chris Meech
"what makes CP different is the people and sense of community, things people will only discover if they join up and join in." Christian Graus Nov 14, 2002.
Oh and for those that ask programming questions in the lounge. Seek the truth here[^].
|
|
|
|
|
Hi,
I created a simple MFC dialog application and added a custom interface to the application via the wizard. I also included the typelib in the .rc file. This all seems to be rather easy, but when I try to query the interface of the COM object in a client application, the hresult is 0x80004002.
I registered the application and when I lookup the the coclass and typelib in the OLE/COM object Viewer, I can find both of them but the interface I cannot find. So it seems the interface is not registered (I also cannot find the IID in the registry).
Is the interface not always automatically registered when the typelib is registered? The application does not seem to have a proxy/stub makefile, so I also can not nmake that and register it.
Any one know what the cause of this problem is?
|
|
|
|
|
I am trying to implement a Paste function that will read data from excel and paste it to another spread sheet type container. I don't need detailed data for this program; the CF_TEXT format would suit my needs fine. However, when using IsDataAvailable(CF_TEXT), this returns TRUE whether there is data there or not. I would like to be able to verify that excel has put data on the clipboard before trying to process the data.
I have registered and tried to get "XlTable" format data from the clipboard, but IsDataAvailable returns false when passing this format as a parameter -- even when I have just used excel to copy to the clipboard. Can anyone give me some idea as to a format that excel uses to put data to the clipboard? This would be greatly appreciated.
|
|
|
|
|
1. Visual Studio 6.x Tools => DataObject Viewer => Clipboard => Empty Clipboard
2. Copy something in Excel
3. Visual Studio 6.x Tools => DataObject Viewer => Clipboard => View Clipboard Data Object
Results From Excel 2000
Unknown Clipformat ptd={NULL} dwApsect={Content } lindex={-1} tymed={}
CF METAFILEPICT ptd={NULL} dwApsect={Content } lindex={-1} tymed={MFPict }
CF-BITMAP ptd={NULL} dwApsect={Content } lindex={-1} tymed={GDI }
Biff8 ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Biff5 ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
BIFF4 ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Biff3 ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Biff ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
CF SYLK ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Wkl ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
CF DIF ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
HTML Format ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Unknown Clipformat ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
CF TEXT ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Csv ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Hyperlink ptd={NULL} dwApsect={Content } lindex={-1} tymed={IStream }
CF TEXT ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Rich Text Format ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Embed Source ptd={NULL} dwApsect={Content } lindex={-1} tymed={IStorage }
Object Descriptor ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Link Source ptd={NULL} dwApsect={Content } lindex={-1} tymed={IStream }
Link Source Descripto ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
Link ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
CF DSPTEXT ptd={NULL} dwApsect={Content } lindex={-1} tymed={hGlobal }
|
|
|
|