Bonjour � tous,
Je dois d�velopper une fonction d'impression pour une application C++/ MFC de type CWinApp mais sans SDI ou MDI, je n'ai donc pas de CView associ� � mon objet CMainFrame.
Pour illustrer mes propos, la m�thode OnCreate:
L'objet m_wndView est un objet OpenGL h�ritant de :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStruct) == -1) return -1; // create a view to occupy the client area of the frame if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL)) { TRACE0("Failed to create view window\n"); return -1; } ......ETC...... }
J'ai trouv� sur mon forum pr�f�r�
Code : S�lectionner tout - Visualiser dans une fen�tre � part public CWnd, public OGLViewportde quoi imprimer ma fen�tre avec la m�thode CopyWindowToBitmap(pWnd,true) et PrintBmp(pBmp) mais CopyWindowToBitmap(CWnd*, bool) prend un pointeur sur un CWnd en param�tre donc j'imprime la fen�tre globale : "active area" (sc�ne OpenGL) et menu, bar d'outils & cie.....
Or je dois absolument imprimer uniquement la partie "active area" de ma fen�tre (le dessin OpenGL), pas de menu ni barre d'outils & cie.
Le code travaille bien avec pWnd->GetClientRect(&rectClient) mais je r�cup�re quand m�me les menus, bar d'outils & cie.
Comment puis-je r�cup�rer les coordonn�es de l'active area (la seule partie cliente de la fen�tre) d'un objet Cwnd?
Est-ce possible?
Merci pour votre aide,
ca fait des heures que je parcours les forums et le web en vain....
Bonne journ�e � tous.
Partager