11 Temmuz 2015 Cumartesi

Dosya Açma mfc form winapi





#include <"windows.h">
#include "resource.h"
LRESULT CALLBACK WndProc (HWND hWnd, UINT message,WPARAM wParam, LPARAM lParam);
  HWND  yavru;
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int iCmdShow)
{
WNDCLASS wc;
HWND hWnd,buton;
HDC hDC;
HGLRC hRC;        
MSG msg;
BOOL bQuit = FALSE;
float theta = 0.0f;
wc.style = CS_OWNDC;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor (NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH);
wc.lpszMenuName = NULL;
wc.lpszClassName ="OpenGLTurk";
RegisterClass (&wc);
hWnd = CreateWindow ("OpenGLTurk","Yasin Demirci",WS_CAPTION  |  WS_POPUPWINDOW | WS_VISIBLE | WS_OVERLAPPEDWINDOW ,30, 30, 1200,800,NULL, NULL, hInstance, NULL);
yavru=CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hWnd,DLGPROC(WndProc));
 
ShowWindow (yavru, iCmdShow) ; // mfc pencerenizin gösterimi
     UpdateWindow (yavru) ; // mfc penceresinin guncellemesi
while (!bQuit)
{
if (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
{
/* mesaj dağıtma*/
if (msg.message == WM_QUIT)
{
bQuit = TRUE;
}
else
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}
else
{
   
}
} 
  
DestroyWindow (hWnd);
  
return msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT message,WPARAM wParam, LPARAM lParam)
{
  BOOL checkeds = IsDlgButtonChecked(yavru, 1);
    OPENFILENAME ofn;
    char szFileName[MAX_PATH] = "";

    ZeroMemory(&ofn, sizeof(ofn));

    ofn.lStructSize = sizeof(ofn); 
    ofn.hwndOwner = yavru;
    ofn.lpstrFilter = "Obj dosyası (*.obj)\0*.obj\0All Files (*.*)\0*.*\0";// acılacak dosyayı uzantısını buradan ayarlayabilirsiniz
    ofn.lpstrFile = szFileName;
    ofn.nMaxFile = MAX_PATH;
    ofn.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
    ofn.lpstrDefExt = "obj";
switch (message)
{
   
case WM_COMMAND:
   
 //Butona basıldımı işlenecek kodlar 
 if (LOWORD(wParam) == IDOK && HIWORD(wParam) == BN_CLICKED)
     {
     

    if(GetOpenFileName(&ofn))
    {
       

 // okur(szFileName );  dosya yolunu szFileName ile ögrenebilirsiniz
  
    }
 }

  
    
  
 return 0;

case WM_CREATE:
return 0;
case WM_CLOSE:
PostQuitMessage (0);
return 0;
  
case WM_DESTROY:
return 0;
  
case WM_KEYDOWN:
switch (wParam)
{
case VK_ESCAPE:
PostQuitMessage(0);
return 0;
}
return 0;
  
default:
return DefWindowProc (hWnd, message, wParam, lParam);
}
}