|
<<< In the name of GOD >>>
Hi,
I want to use Status Bar in my Dialog.
So, please write all code by CStatusBar class
for use StatusBar in dialog.
Thanks.
Hadi Rezaie
|
|
|
|
|
Have a look at
http://codeguru.earthweb.com/dialog/toolbars.shtml
Happy programming!!
|
|
|
|
|
Thanks for reply.
That is useful reply.
I have other question,
Now i want to indicate status about NUM, CAPS, ...
Please help me ...
Hadi Rezaie
|
|
|
|
|
Ok here goes.
1. Add to dialog header
CStatusBar m_wndStatusBar;
2. Define indicators array as you would in MainFrame of and SDI or MDI application
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_NUM,
ID_INDICATOR_CAPS,
};
3. Create the status bar in InitDialog
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("Failed to create status bar\n");
return -1; // fail to create
}
4. Add OnKickIdle function and Message Map entry
Message Map
ON_MESSAGE_VOID(WM_KICKIDLE, OnKickIdle)
Header
afx_msg void OnKickIdle();
Function
void CMyDlg::OnKickIdle()
{
m_wndStatusBar.OnUpdateCmdUI(reinterpret_cast<cframewnd*>(this), FALSE); // must cast
}
5. And finally the Handler entries
Message Map
ON_UPDATE_COMMAND_UI(ID_INDICATOR_CAPS, OnUpdateKeyIndicator)
Header
afx_msg void OnUpdateKeyIndicator(CCmdUI* pCmdUI);
Function
void CLittleBlackBookDlg::OnUpdateKeyIndicator(CCmdUI* pCmdUI)
{
UINT nVK;
UINT flag = 0x0001;
switch (pCmdUI->m_nID)
{
case ID_INDICATOR_CAPS:
nVK = VK_CAPITAL;
break;
case ID_INDICATOR_NUM:
nVK = VK_NUMLOCK;
break;
default:
TRACE1("Warning: OnUpdateKeyIndicator - unknown indicator 0x%04X.\n",
pCmdUI->m_nID);
pCmdUI->ContinueRouting();
return; // not for us
}
pCmdUI->Enable(::GetKeyState(nVK) & flag);
// enable static text based on toggled key state
ASSERT(pCmdUI->m_bEnableChanged);
}
Similarly if you want a toolar.
Happy programming!!
|
|
|
|
|
Ohhh, Yes.
Thanks a looooooooot.
Hadi Rezaie
|
|
|
|
|
if its a non-resizable dialog box why dont you just plonk some statc controls along the bottom and fake the status bar?
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
i have most of my projects on my main development machine but occasionally transfer them to my laptop to work elsewhere or as a temp backup ... if i load a project on my laptop under the exact same version of vc++ (ent ed 6 sp4) it takes literally 20 minutes to process the files in the project explorer view ... on my main machine it takes a few seconds
both machines are p2 350's with 128Mb ram ... anybody have a clue why this is?
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
NT, 2K or 95/98 ?
-c
------------------------------
Smaller Animals Software, Inc.
http://www.smalleranimals.com
|
|
|
|
|
ahhhh
the main machine is nt ws 4 sp6a ... laptop is w2k
what could be different as far as a vc project goes between os's?
duhhh
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
I know this is kind of a non-answer, but I have the same setup - an nt4 box and w2k lt, and I haven't seen this problem.
Mostly i don't bother to network the laptop, so when I move a project its zipped on a floppy - one big one zipped just fits, but I have to delete the big fat .ncb and ususally the .opt, aps etc.
Does it make any difference if you don't move these over? I guess if it did, the problem would only occur on the first load... hmmm... the only other wild idea I have is to see if VC is doing something over the network - that could muddy things.
|
|
|
|
|
i deleted the .opt and .ncb files and it loads in under 30 seconds ... wonder why those files make things slower if they're included ... i would have thought they'd make things quicker as vc wouldn't have to create them from the source files again
thanks for the pointer
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
Cool. I haven't yet figured out what all those files do - the NCB is a 'no compile browser' file - apparently used by class wiz and component gallery.
The OPT (options) file holds, according to the docs, all your workspace options - what build's on deck, where your toolbars are, etc. I find it also holds a lot of text from open files, (remove it and all the windows you left open last session are gone). Not sure if it has something to do with undo/redo in the editor, but just updating these screens as you type might be a chore. When I find the keyboard really sluggish after a long session, I take a look and see if the opt file is flirting with 70k. If so, it helps to delete it.
Just theories...
|
|
|
|
|
These files can easily become corrupted, and when they do, VC acts in unpredictable ways. Some of those files contain machine specific information, and if the environment isn't exactly the same, it gets confused.
the .ncb is the no-compile browser, used for the ClassView primarily, but also for IntelliSense.
the .opt file stores local options, such as which windows you have have open, breakpoints, etc.. Not quite so intuitively, it also stores folder hierchy if you create new folders in your FileView (this should really be stored in the project IMO, but sadly that's not the way the IDE developers saw it).
|
|
|
|
|
i was hoping you'd say Win95 - these give VC some serious problems when it comes to dependency checking (i don't know why). it takes 10x-20x longer on 95 to check dependencies (initial project load and first build) than on NT.
-c
------------------------------
Smaller Animals Software, Inc.
http://www.smalleranimals.com
|
|
|
|
|
I work on three sites and bounce between Win95/98 and Win2000. I transfer only sources and local libraries. I duplicate the project files manually and keep them in sync by hand. When required, I load up the sources and rebuild all. A batch file helps for large projects.
This is a pain in the neck but I found that taking projects across OS's makes them flaky with mysterious crashes, corruptions and other idiot-syncracies. I think you just found one of these problems.
|
|
|
|
|
at least i dont gots to have a cup of tea everytime i load up the project on my laptop now ... still don't get what could be causing it but if it leaves me alone i'll leave it alone
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
Lauren,
I have seen exactly the same symptions before and in my case the problem
was that VC++ on the new machine (your LapTop) was spending 20 minutes
looking for the project in Visual Source Safe when the machine was not
even on the network.
The solution I used was to open the .dsw as a text file (using VC++) and
deleting all the VSS lines below the line :
"# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!"
cool hey
There might be timeout values for this stuff in the registry but I can not
look as my current clients do not use VSS.
Let us know how it goes,
Julien.
|
|
|
|
|
Is there any TAPI function (or similar) to detect "fast busy" status of a phone line?
THANKS
|
|
|
|
|
> Is there any TAPI function (or similar) to detect "fast busy" status of a phone line?
TAPI is not my strong point, but try searching the MSDN collections for "Reorder" or "LINEBUSYMODE_TRUNK" near "LINE_CALLSTATE". The "lineGetCallStatus" function should be able to help you.
Peace!
-=- James.
|
|
|
|
|
Hi everybody,
How do i fire events in a VB activex dll that can be caught by MFC client? VB cannot map events without a typelib. So first a connectable component is required by client to build sink to events. Does this component stay housed inside the client or as a separate dll/exe?
Thnaks,
|
|
|
|
|
you can use the dll/exe as typelib.
#import "MyActivex.dll"
Good luck,
Dror
|
|
|
|
|
Hi,
I am trying to make a PC activities log file, using Mike Ryan's Enummodules.cpp.
I want to know how to get process' name executed in CMD window.
For example, you open a dos window with cmd.exe, then you execute other program like edit.exe.
How to get "edit.exe" in this case.
Thanks for helps.
|
|
|
|
|
i havent checked mike ryan's article in depth but you will want to be using the Process Status API (PSAPI.DLL) and the Virtual DOS Machine Debug API (VDMDBG.DLL) to get at the info you want
to get the 16-bit tasks inside the VDM's use VDMEnumTaskWOWEx():
if (!stricmp(szProcessName,"ntvdm.exe"))
{
VDMEnumTaskWOWEx(processID,EnumWin16Processes,0);
}
check the VDMDBG.H file for the info on this call
if the VDM is running an msdos app rather than hosting a WOW box it wont call your callback
the callback function EnumWin16Processes:
BOOL WINAPI EnumWin16Processes (DWORD dwThreadID,WORD hMod16, WORD hTask16, PSZ pszModName,PSZ pszFileName, LPARAM lpUserDefined)
{
wada wada wada ...
}
hope this helps
---
"every year we invent better idiot proof systems and every year they invent better idiots"
|
|
|
|
|
Hi Lauren,
Many thanks for your advices.
I'll try it soon.
Best regards.
|
|
|
|
|
Ok first I'm really new to windows programing, so I'm working on a really simple automation program for some of the webpages I visit, one of the things I need to be able to do is autofill and submit an HTML form on a page, I've been looking at some MSHTML methods, and it seems to be there I just don't see how exactly I can retrieve the form and modify its elements, if someone could help me out it would be really appreciated. and secondly if anyone has some good web references for MSHTML or C++ in general they wouold be greatly apprciated as well ,as I've found them very hard to come by esp. geared for begginers, MSDN reads like greek to me at the moment.
Thanks, ßlack Widow
|
|
|
|