
02.04.2015, 19:15
|
Прохожий
|
|
Регистрация: 20.02.2015
Сообщения: 27
Версия Delphi: Delphi 7
Репутация: 10
|
|
Цитата:
Сообщение от NumLock
нужно обрабатывать WM_CTLCOLOREDIT:
Код:
function WindowProc(hwnd: HWND; Msg: Integer;
wParam: WPARAM; lParam: LPARAM): Longint; stdcall;
begin
case Msg of
WM_CTLCOLOREDIT: begin
SetBkColor(wParam, $00);
SetTextColor(wParam, $ffffff);
Result:=GetStockObject(BLACK_BRUSH);
end;
|
что не то, вот код
Код:
program Project1;
uses
Windows, Messages;
{$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED}
const
Memo_1 = 100;
var
MSG: TMSG;
WC: TWndClass;
hWindow, Memo: HWND;
function WndProc(hWnd: HWND; Msg: UINT; WParam: Integer; lParam: Integer): Integer; stdcall;
begin
Result:=0;
case msg of
WM_CTLCOLOREDIT:
begin
SetBkColor(wParam, $00);
SetTextColor(wParam, $ffffff);
Result:=GetStockObject(BLACK_BRUSH);
end;
WM_DESTROY:
begin
PostQuitMessage(0);
Exit;
end;
Result := DefWindowProc(hWnd, Msg, WParam, LParam);
end;
procedure CreateWindow;
begin
FillChar(WC, SizeOf(TWndClassEx), 0);
WC.lpszClassName := 'Window';
WC.lpfnWndProc := @WndProc;
WC.hbrBackground := 1;
WC.hCursor := LoadCursor(0, IDC_ARROW);
RegisterClass(WC);
hWindow := CreateWindowEx(0,
WC.lpszClassName,//Имя класса окна
nil{Имя окна},
WS_VISIBLE or WS_DLGFRAME,//Стиль
200,300,400,200,
0,
0,
hInstance,//Описатель приложения, с которым окно связывается
nil);
Memo := CreateWindowEx(WS_EX_CLIENTEDGE,
'Edit',
nil,
WS_CHILD or WS_VISIBLE or WS_VSCROLL or ES_AUTOHSCROLL or ES_MULTILINE or ES_WANTRETURN,
10, 10, 300, 100,
hWindow,
Memo_1,
hInstance,
nil);
sendmessage(Memo, EM_REPLACESEL, 0, longword(pchar('Сообщение: '+#13#10)));
ShowWindow(hWindow, SW_SHOW);//Показать окно
UpDateWindow(hWindow);//Обновления окна
end;
//============================Конец "Создание формы"============================
begin
CreateWindow;
while GetMessage(MSG, 0, 0, 0) do
begin
TranslateMessage(MSG);
DispatchMessage(MSG);
end;
end.
|