|
|
Is the resource ID valid when you call LoadFrame?
Do you need to be able to switch back and forth between MDI and SDI or just decide at startup?
If just at startup, you should be able to do this in InitInstance() of the app:
CFrameWnd *pFrameWnd = 0;
if (fUserWantsMDI)
pFrameWnd = new CMainFrameMDI;
else
pFrameWnd = new CMainFrameSDI;
if (!pFrameWnd)
return FALSE;
m_pMainWnd = pFrameWnd;
if (!pFrameWnd->LoadFrame(IDR_MAINFRAME))
return FALSE;
|
|
|
|
|
Mark Salsbery wrote: Do you need to be able to switch back and forth between MDI and SDI or just decide at startup?
I based my post on the subject, "Runtime change MDI/SDI" being accurate. Perhaps that was a mistake.
led mike
|
|
|
|
|
Dammit!
|
|
|
|
|
Endaroza wrote: CMainFrameSDI->CFrameWnd and CMainFrameMDI->CMDIFrameWnd
Why not make your derived class a template?
|
|
|
|
|
If you are not supporting the Doc/View architecture then this should be pretty easy. Create your app as an MDI app. When using MDI you show your "view" in MDIChildWnd frames. When using SDI show your view in a subclassed MDIClient window.
You may be right
I may be crazy
-- Billy Joel --
Within you lies the power for good - Use it!
|
|
|
|
|
Solved finally (sorry for the sooooo late answers but i changed the email and i did not received these stuffs) anyway. The solution i found is to take my existing CFrameWnd derived class (CMainFrame), then i created a CMDIFrameWnd derived class (CMDIMainFrame). I moved all the variables inside another class, friend of the two above (CMainFrameVars), and added all the getters/setters to CMainFrame. At this point my old CMainFrame has not one single class variable, and access these variables (even internally) only through the getter/setter functions.
I barely copied all the methods declarations from CMainFrame to CMDIMainFrame header, and vice cersa, now the two classes has exactly the same functions declarations.
After this step i modified the CMDIMainFrame cpp: now it's EMPTY it contains only #include "MainFrm.cpp", #define CMainFrame CMDIMainFrame, #define CFrameWnd CMDIFrameWnd.
Now i have 2 separate classes, exactly the same code, the only difference is inside the header!!
-Yes, i don't write a good english-
Unlukily it's not a Joke...
Hope you'll understand!!
|
|
|
|
|
Would anyone know how to do this, or have any pointers on it:
using getpixel read a pixel on the screen, then do if 3<g<255
so="" basicly="" if="" a="" pixel="" contains="" hint="" of="" green="" execute="" some="" code?=""
thanks
="" johannes=""
<div="" class="ForumSig">/Johannes
|
|
|
|
|
if (GetGValue(GetPixel(hdc, xpos, ypos)) > 0)
{
execute some code
}
|
|
|
|
|
whats the hdc bit?
thanks
/Johannes
|
|
|
|
|
Handle to a device context for the screen.
HDC hdc = GetDC(0);
You asked about reading a pixel from the screen, yes?
Mark
|
|
|
|
|
Or you can use GetGValue(GetPixel(GetDC()->m_hDC,x,y));
|
|
|
|
|
>>Or you can use GetGValue(GetPixel(GetDC()->m_hDC,x,y));
But that's a window pixel, not a SCREEN pixel lol
|
|
|
|
|
I have tried to rotate an image using GDI+ but I have trouble understanding how to do it. Some examples describe calling TranslateTransform() before calling RotateTransform(). The MSDN files are not clear on this. I do all the drawing in a CView from OnDraw().
I would really appreciate clarification on this.
Thanks!
"Eat till you're sleepy, sleep till you're hungry." - Mark
|
|
|
|
|
Disclaimer : I hate it when I cannot put into "good" words what I'm trying to explain.
Me think, you need to translate to the origin, otherwise, the image will be rotated around the origin, and if it's not it will be what you expect the rotation to be.
or, the image will not be rotated against its center point like you expect.
|
|
|
|
|
Maximilien wrote: Me think, you need to translate to the origin, otherwise, the image will be rotated around the origin, and if it's not it will be what you expect the rotation to be.
Are you suggesting that my image is there, but rotated out of the view (origin problem)?
"Complexity breeds problems. Keep it simple." - Mark
|
|
|
|
|
|
The rotation will be around the origin. You're probably after a rotation around the center of the image. Try something like this.
graphics.TranslateTransform(-cx, -cy);
graphics.RotateTransform(30.0f, MatrixOrderAppend);
graphics.TranslateTransform(cx, cy, MatrixOrderAppend);
Where cx and cy are the center of the image (the point you wish to rotate around). This code builds a transformation that effectively translates the image so that the point you want to rotate around is at the origin, rotates around the origin and then translates the image back to its proper location.
Steve
|
|
|
|
|
hi,
I am using function EnumDisplaySettings to get Windows resolution
like this:
DEVMODE dm;
dm.dmSize = sizeof(DEVMODE);
dm.dmDriverExtra = 0;
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
..and resolutin is in dm.dmPelsWidth and dm.dmPelsHeight
It works fine in WinXP - I am programming it, but
i need to run it on Windows 95 and even function return TRUE
the values in DEVMODE are nonsencical and probably random.
Does anyone solved this problem?
Or know any other function to get resolution in Win95
Thank you
viliam
|
|
|
|
|
Why not use GetSystemMetrics() ?
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
I try to hook the window of a service with WH_CBT system hook, but it doesn't work.
|
|
|
|
|
Not many services have windows
Mark
|
|
|
|
|
you must be runing under the same desktop context in order to 'hook' a window this way. So your must be a service as well.
|
|
|
|
|
I am using CFileDialog to select multiple files. When I select single file, the member function GetPathName() . But when multiple files are selected the folder path is returned. How do I get the path of all the files that are selected.
|
|
|
|
|
Did you not read the documentation? It plainly states that:
If m_ofn.Flags has the OFN_ALLOWMULTISELECT flag set, you should call GetStartPosition() and GetNextPathName() to retrieve a file pathname.
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|