Форум: "Система";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];
ВнизПроблема с юникодом Найти похожие ветки
← →
ZZ (2002-06-28 14:00) [0]Код создания окна. такому окну не получается установить заголовок (получается только 1ый символ). Подскажите где ошибка?
var
msgs : MSG;
WndClass : ATOM;
Wnd : HWND;
Text : WideString;
begin
Text:="Test";
WndClass := RegisterMainWindowClassW(@WndProc);
if (WndClass<>0)
then begin
Wnd:=CreateMainWindowW(WndClass);
end;
ShowWindow(wnd,SW_SHOW);
UpdateWindow(wnd);
if isWindowUnicode(Wnd) then MessageBoxW(0,"Unicode","Test",MB_OK);
SetWindowTextW(wnd,PWideChar(Text));
while (GetMessage(msgs, 0, 0, 0))do
begin
TranslateMessage(msgs);
DispatchMessage(msgs);
end;
end.
function CreateMainWindowW(WndClass: ATOM):HWND;
begin
Result:= CreateWindowExW(0,"NTAdminMain",PWideChar(WideString("jj")),
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, 0, 0, hInstance, nil);
end;
function RegisterMainWindowClassW(WndProc:Pointer):ATOM;
var
wndclass : TWNDCLASSEXW;
begin
wndclass.cbSize := sizeof(WNDCLASSEXW);
wndclass.style := CS_HREDRAW or CS_VREDRAW;
wndclass.lpfnWndProc := WndProc;
wndclass.cbClsExtra := 0;
wndclass.cbWndExtra := 0;
wndclass.hInstance := hInstance;
wndclass.hIcon := 0;//LoadIcon(hInstance, (LPCTSTR)IDI_WIN32);
wndclass.hCursor := 0;//LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground := HBRUSH((COLOR_WINDOW+0));
wndclass.lpszMenuName := nil;//IDC_WIN32;
wndclass.lpszClassName := "NTAdminMain";
wndclass.hIconSm := 0;//LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL);
Result:= RegisterClassExW(wndclass);
end;
← →
Phil (2002-07-18 13:45) [1]В процедуре окна функция обработки сообщений по умолчанию тоже должна быть юникодовой (DefWindowProcW или как-то в таком духе, точно не помню. См. PSDK ).
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.09.26;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c