Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2011, 01:00   #1
MasterSporta
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 56
По умолчанию проблема с CreateWindowEx

Здравствуйте, уважаемые участники форума. Решил написать простую программку в 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'
Может кто-то подскажет, буду благодарен))
MasterSporta вне форума Ответить с цитированием
Старый 17.03.2011, 02:06   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://programmersforum.ru/showthrea...hlight=Unicode
который раз ссылаюсь на эту тему.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.03.2011, 02:09   #3
MasterSporta
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 56
По умолчанию

прошу прощения, плохо искал(( Спасибо за ссылку))
MasterSporta вне форума Ответить с цитированием
Старый 17.03.2011, 02:52   #4
MasterSporta
Пользователь
 
Регистрация: 13.12.2010
Сообщений: 56
По умолчанию

теперь выскакивает следующая ошибка:
fatal error LNK1169: one or more multiply defined symbols found
MasterSporta вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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