![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.12.2010
Сообщений: 56
|
![]()
Здравствуйте, уважаемые участники форума. Решил написать простую программку в MS Visual Studio 2008, но возникла небольшая ошибка. Привожу код:
#include "stdafx.h" #include <windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { HWND hMainWnd; char szClassName[] = "MyClass"; MSG msg; WNDCLASSEX wc; wc.cbSize = sizeof(wc); wc.style = CS_HREDRAW | CS_VREDRAW; 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 = szClassName; wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if(!RegisterClassEx(&wc)) { MessageBox(NULL,L"Cannot Register Class", L"Error", MB_OK); return 0; } hMainWnd = CreateWindow( szClassName, L"A Hello1 Application", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, (HWND)NULL, (HMENU)NULL, (HINSTANCE)hInstance, NULL); if(hMainWnd) { MessageBox(NULL, L"Cannot create main window", L"Error", MB_OK); return 0; } ShowWindow(hMainWnd,nCmdShow); UpdateWindow(hMainWnd); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { HDC hDc; PAINTSTRUCT ps; RECT rect; switch(uMsg) { case WM_PAINT: hDc = BeginPaint(hWnd, &ps); GetClientRect(hWnd, &rect); DrawText(hDc, L"HELLO WORLD!", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER); EndPaint(hWnd, &ps); break; case WM_CLOSE: DestroyWindow(hWnd); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); } return 0; } Сообщение об ошибке: error C2664: 'CreateWindowExW' : cannot convert parameter 2 from 'char [8]' to 'LPCWSTR' Может кто-то подскажет, буду благодарен)) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
http://programmersforum.ru/showthrea...hlight=Unicode
который раз ссылаюсь на эту тему. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.12.2010
Сообщений: 56
|
![]()
прошу прощения, плохо искал(( Спасибо за ссылку))
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 13.12.2010
Сообщений: 56
|
![]()
теперь выскакивает следующая ошибка:
fatal error LNK1169: one or more multiply defined symbols found |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FormStyle:=none, с помощью CreateWindowEx | Alex Cones | Общие вопросы Delphi | 5 | 06.11.2009 19:45 |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |
Создание окна через CreateWindowEx | Nowichok | Win Api | 18 | 16.12.2006 16:37 |