Newbie Всего записей: 5 : Дата рег-ции: Май 2007 : |
Здраствуйте
Итак вывод линий и прямоугольников есть в системе, но пока ещё не описаны в заголовочном файле, скоро опишу.
Игорь Теперь, что-бы изменить положение, надпись и/или размер кнопки, нужно всего-лишь перерисовать её с помощью Create_StdButton
Идентификатор для кнопки задаёш сам и, если он совпадёт с уже существующим, то ты просто изменишь положение, надпись и/или размер кнопки, как это было оговорено выше.
Теперь я немного изменил способ получения и обработки сообщений для удобства. Вот как сейчас будет выглядеть пример:
Код: program TestMX; Uses mx; Var WinID:Integer; x,y,w,h:integer; // msg:integer; i:integer; procedure DrawWindow; begin WinID:=Draw_StdWindow(x*65536+y,w*65536+h,'Hello world!',WinAttr_Close or WinAttr_Min); Write_Text(20,30,$000000,$4,'Miraculix & Delphi!',WinID); Create_StdButton(57*65536+78,63*65536+29,'Backspace',1,0); Create_StdButton(123*65536+78,62*65536+29,'CE',2,0); Create_StdButton(188*65536+78,62*65536+29,'C',3,0); Create_StdButton(11*65536+114,36*65536+29,'MC',4,0); Create_StdButton(57*65536+114,36*65536+29,'7',5,0); Create_StdButton(96*65536+114,36*65536+29,'8',6,0); Create_StdButton(135*65536+114,36*65536+29,'9',7,0); Create_StdButton(174*65536+114,36*65536+29,'/',8,0); Create_StdButton(213*65536+114,36*65536+29,'sqrt',9,0); Create_StdButton(11*65536+147,36*65536+29,'MR',10,0); Create_StdButton(57*65536+147,36*65536+29,'4',11,0); Create_StdButton(96*65536+147,36*65536+29,'5',12,0); Create_StdButton(135*65536+147,36*65536+29,'6',13,0); Create_StdButton(174*65536+147,36*65536+29,'*',14,0); Create_StdButton(213*65536+147,36*65536+29,'%',15,0); Create_StdButton(11*65536+179,36*65536+29,'MS',16,0); Create_StdButton(57*65536+179,36*65536+29,'1',17,0); Create_StdButton(96*65536+179,36*65536+29,'2',18,0); Create_StdButton(135*65536+179,36*65536+29,'3',19,0); Create_StdButton(174*65536+179,36*65536+29,'-',20,0); Create_StdButton(213*65536+179,36*65536+29,'1/x',21,0); Create_StdButton(11*65536+212,36*65536+29,'M+',22,0); Create_StdButton(57*65536+212,36*65536+29,'0',23,0); Create_StdButton(96*65536+212,36*65536+29,'+/-',24,0); Create_StdButton(135*65536+212,36*65536+29,',',25,0); Create_StdButton(174*65536+212,36*65536+29,'+',26,0); Create_StdButton(213*65536+212,36*65536+29,'=',27,0); end; begin // Initialize variables x:=50; y:=50; w:=260; h:=252; // Draw window DrawWindow; // Main cycle repeat case WaitMessage of // Если нажата кнопка с идентификатором 1 то нарисуем полосу точками :) (для тестирования PutPixel) EventID_Ctrl3+1: begin Begin_xDraw; for i:=10 to 100 do PutPixel(i,i,0,WinID); End_of_redraw; end; // Если нажата кнопка с идентификатором 2 то выведем сообщение EventID_Ctrl3+2:ShowMessage('CE','Message'); // Если было сообщение от клавиатуры то EventID_Kbd: begin // если нажат Enter то уведомим пользователя if GetKey=vk_Return then begin ShowMessage('Нажат Enter','Message'); end; end; end; StdHandler; until 1<>1; end.
|
Скачать этот пример Просмотреть скриншот
Удачи
PS: В mx.pas добавились: Константы некоторых клавиш Функции GetKey, GetScanCode, PutPixel, Begin_xDraw, End_of_redraw
(Отредактировано автором: 17 Мая, 2007 - 13:42:55) |
|