Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не создается стандартное диалоговое окно???

18K
11 июля 2006 года
f68
3 / / 29.06.2006
Visual c++ 6.0
Написал программу
Компилится нормально, никаких ошибок но при выполнении диалоговое окно не создается.
В чем дело????
Может кто подскажет ошибку.
текст программы

Код:
#include <windows.h>
#include <stdio.h>
#include <commdlg.h>

LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int iCmdShow)
{
  MSG msg;  
  HWND hwnd;
  WNDCLASSEX wnd;
  static char szAppName[] = "HelloWin" ;

  wnd.cbSize = sizeof(WNDCLASSEX );
  wnd.style  = CS_HREDRAW | CS_VREDRAW;
  wnd.lpfnWndProc = WndProc;
  wnd.cbClsExtra = 0;
  wnd.cbWndExtra = 0;
  wnd.hInstance = hInstance;
  wnd.hIcon = NULL;
  wnd.hCursor=LoadCursor(NULL, IDC_ARROW );
  wnd.hbrBackground = (HBRUSH)COLOR_APPWORKSPACE +1;
  wnd.lpszMenuName = NULL;
  wnd.lpszClassName = szAppName;
  wnd.hIconSm = NULL;

  RegisterClassEx(&wnd);

  hwnd=CreateWindow(szAppName,"Write_File", WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,50,50,200,200,NULL,NULL,hInstance,NULL);

  ShowWindow(hwnd,iCmdShow);

  while(GetMessage(&msg,NULL,0,0))
  {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
  }
  return msg.wParam;
}
//--------------------------------------------------

LRESULT CALLBACK WndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
  switch (msg)
  {
     case WM_CREATE :
     {
         CreateWindow( "BUTTON","&#206;&#242;&#234;&#240;&#251;&#242;&#252;",WS_CHILD | WS_VISIBLE, 10,10,80,20,hwnd,(HMENU)1,NULL,NULL);
       return 0 ;
     }
     case WM_COMMAND:
         {
             switch(wParam)
             {
             case 1:
                 {
                    OPENFILENAME ofn;           // &#241;&#242;&#240;&#243;&#234;&#242;&#243;&#240;&#224; &#241;&#242;&#224;&#237;&#228;&#224;&#240;&#242;&#237;&#238;&#227;&#238; &#228;&#232;&#224;&#235;&#238;&#227;&#238;&#226;&#238;&#227;&#238; &#238;&#234;&#237;&#224;
                    char szFile[260];           // &#225;&#243;&#244;&#229;&#240; &#228;&#235;&#255; &#232;&#236;&#229;&#237;&#232; &#244;&#224;&#233;&#235;&#224;
                    HANDLE hf;                      // &#228;&#229;&#241;&#234;&#240;&#232;&#239;&#242;&#238;&#240; &#244;&#224;&#233;&#235;&#224;
                    ZeroMemory(&ofn, sizeof(OPENFILENAME));
                    ofn.lStructSize = sizeof(OPENFILENAME);
                    ofn.hwndOwner = hwnd;
                    ofn.lpstrFile = szFile;
                    ofn.nMaxFile = sizeof(szFile);
                    ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
                    ofn.nFilterIndex = 1;
                    ofn.lpstrFileTitle = NULL;
                    ofn.nMaxFileTitle = 0;
                    ofn.lpstrInitialDir = NULL;
                    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
                    if (GetOpenFileName(&ofn)==TRUE)
                        hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
                        0, (LPSECURITY_ATTRIBUTES) NULL,
                        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
                        (HANDLE) NULL);
                     return 0;
                 }
                 return 0;
             }
             return 0;
         }
     case WM_DESTROY :
     {
       PostQuitMessage (0) ;
       return 0 ;
     }
  }
  return DefWindowProc (hwnd, msg, wParam, lParam) ;
}
5.9K
11 июля 2006 года
Zushenskiy
161 / / 29.06.2006
Напиши так и все будет ок
char szPath[MAX_PATH] = {0};:p
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог