|
How do I make them disappear...?
I've tried:
cs.dwStyles = ~ WS_VSCROLL;
But it causes the framework to not create a document or something like that...
Any ideas how I can go abouts doing this...?
I'm sure it's a CMDIChildWnd thats causing the scrollbars to appear because when I add scrollbars to embedded view I get double scrollbars...I also have concluded it's CSplitterWnd thats making scrollbars appear...
Thanks again
I'm drinking triples, seeing double and acting single
|
|
|
|
|
nm...Figure it out...
Cheers
I'm drinking triples, seeing double and acting single
|
|
|
|
|
Haven't you tried
cs.dwStyles ~= WS_VSCROLL;
instead of
cs.dwStyles = ~ WS_VSCROLL;
Bunburry
|
|
|
|
|
This might seem like a trival question, but does a dll or static lib generate faster code? My guess would be static lib, but I really do not know much about dll's. The reason that I ask is that I am writing a bunch of realtime code and I need to make things as fast as possible.
Also, how does one choose when to use a dll or a lib?
Thanks
|
|
|
|
|
|
I think that would be compiler and programmer dependant.
You as the programmer have most control over code speed...
However lib's are probably quicker because everything is linked at compile time and theres no additional over head for linking to an external library at runtime.
Other than that:
int b=0;
for(int i=0; i<10; i++)
b=(b*i)+1;
I would think would compile into the same instructions regardless of output file being DLL or LIB
mwhannan wrote:
Also, how does one choose when to use a dll or a lib?
LIB's are usually passed around when you as the programmer wants differ modules of functionality, but in the finalized product you want one single exe...DLL's are used for keeping final product in seperate modules...making it easy to upgrade parts of your app but only updating a single file...
One is runtime and the other is compile time linkage.
Cheers
I'm drinking triples, seeing double and acting single
|
|
|
|
|
"However lib's are probably quicker because everything is linked at compile time and theres no additional over head for linking to an external library at runtime."
That was what I was thinking. Does "at run time" mean that it is linked when the program first starts up, or it can happen any time during program execution?
"LIB's are usually passed around when you as the programmer wants differ modules of functionality, but in the finalized product you want one single exe...DLL's are used for keeping final product in seperate modules...making it easy to upgrade parts of your app but only updating a single file..."
Thanks, that help clear some things up.
|
|
|
|
|
mwhannan wrote:
Does "at run time" mean that it is linked when the program first starts up, or it can happen any time during program execution?
Can be either...basically at programmers preference instead of complier
Cheers
I'm drinking triples, seeing double and acting single
|
|
|
|
|
"Can be either...basically at programmers preference instead of complier "
How does that work? Sorry if these are annoying questions.
|
|
|
|
|
The dll is loaded by the client whenever the LoadLibrary() API is invoked by the client.
|
|
|
|
|
You missed another distinction : static link dll's (bound at compile time) and dynamic link dll's (loaded at run time).
Regardless, the time differences between the 3 are generally orders of magnitude less than the time an actual function takes to run.
There are also other effects that are out of the control of the application that would make measuring such differences difficult. e.g. just because the static lib is linked into the exe doesn't mean the code is in physical memory - it may be paged out, whereas a dll that's shared amongst several (running) programs may have a better chance of having it's code in physical memory at any given time.
...cmk
Save the whales - collect the whole set
|
|
|
|
|
Question? I wrote a simple code to print using MFC example from a dialog. Works great on Window XP but install the app on a Windows 200 Server machine doesnt print the text. It however, performs all the print job with out failing. Any ideas why this is happening. Does XP perform some other task behind the sence that Windows 2000 does not? It doesnt seem to contain the font even though i do all set font as shown in the sample page of MFC library.
|
|
|
|
|
It does now xp perform some other task behind the sence that windows 2000 does not .
|
|
|
|
|
so any solution to solve this problem
how does printing normaly work for the windows 2000
i use the standard OnPreaprePrint();
OnBeginPrint();
OnPrint()
OnDraw(){
in the draw i set CFont font; etc
pDC->SetFont(blah)
}
OnEndPrint();
Is this different when printing on Windows 2000
|
|
|
|
|
Nope. I have MFC based apps which print this way running identically on Win95,NT,2K and XP.
Some things to try;
pause the printer then try and print to it. This will let you see if the print job is even created.
put trace code in your OnPrint (If you don't have one, create one that just calls OnDraw like the default OnPrint for CView does.
Best of luck
Steve S
|
|
|
|
|
Does anyone know how to make a CDialog resizable in only 1 direction? i.e., when fwSide == 1.
(FYI: fwSide reference for CDialog::OnSizing())
4 3 5
+-------+
| |
1 | | 2
| |
+-------+
7 6 8
I would really like to disable the resizing arrows when the user tries to resize from any other side but 1.
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
I took care of it in PreTranslateMessage()
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
Do you mind if I tell other people?
|
|
|
|
|
winalice wrote:
Do you mind if I tell other people?
um.. no, go right ahead..
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
|
Nitron wrote:
Does anyone know how to make a CDialog resizable in only 1 direction?
I was able to do it with:
void CMyDialog::OnSizing(UINT fwSide, LPRECT pRect)
{
CRect rc;
GetWindowRect(rc);
pRect->top = rc.top;
pRect->right = rc.right;
pRect->bottom = rc.bottom;
CDialog::OnSizing(fwSide, pRect);
}
Nitron wrote:
I would really like to disable the resizing arrows when the user tries to resize from any other side but 1.
I've seen this done before but forgot the details.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
Hello!
Assume this: you have a popup menu and a main menu. Now I want to "copy" the popup menu items into a specific submenu of the main menu.
I tried this:
m_popmenu.LoadMenu(IDR_PWLIST_MENU);
CMenu *pDest = m_menu.GetSubMenu(1);
CMenu *pSrc = m_popmenu.GetSubMenu(0);
UINT i = 0;
UINT uState, uID;
CString str;
for(i = 0; i < pSrc->GetMenuItemCount(); i++)
{
uID = pSrc->GetMenuItemID(i);
uState = pSrc->GetMenuState(i, MF_BYPOSITION);
pSrc->GetMenuString(i, str, MF_BYPOSITION);
pDest->AppendMenu(uState, uID, (LPCTSTR)str);
}
m_popmenu.DestroyMenu(); But unfortunately this doesn't work correctly... It copies the items to the main menu but without text and the command ID or item ID is lost somehow...
What am I doing wrong? How would you merge two menus?
Dominik
_outp(0x64, 0xAD);
and
__asm mov al, 0xAD __asm out 0x64, al
do the same... but what do they do??
(doesn't work on NT)
|
|
|
|
|
Search for AfxMergeMenus in MFC Source code (OleMisc.cpp): May help...
"...Ability to type is not enough to become a Programmer. Unless you type in VB. But then again you have to type really fast..."
Me
|
|
|
|
|
Hello, i am having some trouble writing a simple wrapper (in c++) for c windowing code, i have been trying to sort it out for a while and have figured out the class members as callbacks using setWindowLong and all that , but my main proble lies in CreateWindowEx, i have my code set up for error checking and creation of a WNDCLASSEX object goes fine and RegisterClassEx goes fine but when i call CreateWindowEx, it returns the error code 0, which means ERROR_SUCCESS, my createWindowEx call looks like this:
m_hWnd is an HWND that is set to NULL until this call,
m_hInstance is set with GetModuleHandle(NULL)
emsg is just a file for collecting error messages
m_StrTitle is a string containing my window/class name (it isn't NULL)
if (!(m_hWnd=CreateWindowEx(dwExStyle, m_StrTitle,
m_StrTitle, dwStyle |
WS_CLIPSIBLINGS |
WS_CLIPCHILDREN,
0, 0, WindowRect.right-WindowRect.left, WindowRect.bottom-WindowRect.top,
NULL, NULL, m_hInstance, this)))
{
emsg << "create glWindow: " << GetLastError();
emsg.close();
this->KillGLWindow();
MessageBox(NULL,"Window Creation Error","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false;
}
my WNDCLASSEX creation looks like this:
WndProc is a static class member
WNDCLASSEX l_wc =
{ sizeof(WNDCLASSEX),
CS_GLOBALCLASS | CS_HREDRAW | CS_VREDRAW | CS_OWNDC,
(WNDPROC) WndProc,
0,
0,
m_hInstance,
LoadIcon(NULL, IDI_WINLOGO),
LoadCursor(NULL, IDC_ARROW),
NULL,
NULL,
m_StrTitle,
LoadIcon(NULL, IDI_WINLOGO),
};
once again the error code returned with GetLastError() after my call to CreateWindowEx returns zero which enumerates to ERROR_SUCCESS and i really don't know what to do, i have spent a lot of time building this code, any help would be very much appreciated, thank you in advance
-Matthew
|
|
|
|
|