Форум » GUI » mdi » Ответить

mdi

Vlad04: Уважаемые ГУРУ. Обратили бы вы ваше внимание на построение окон. В дизайнере ничего не получается (ручками не в счет)

Ответов - 10

Andrey: Vlad04 пишет: В дизайнере ничего не получается (ручками не в счет) В дизайнере много чего не работает... Приходиться делать ручками !

Vlad04: В дизайнере основные наброски получается. Дальше, рихтуешь вручную - так быстрее. А с mdi - окнами ни как, а хочется. все в рукопашную, это нехорошо.

Vlad04: Вообщем, остановился на следующем: основное окно - Main, дочернее CHILD. При инициализации у дочернего убираем ТИтул, размеры и положение выставляем по основному. Очень похоже на mdi. На дааном этапе меня устраивает


Vlad04: А можно ли при иницилизации Формы (окна) устанавливать его тип - STANDART, MODAL или CHILD ?

Softlog86: Standard Window: DEFINE WINDOW <WindowName> [ AT <nRow> ,<nCol> ] [ ROW <nRow> ] [ COL <nCol> ] [ WIDTH <nWindth> ] [ HEIGHT <nHeight> ] [ CLIENTAREA <nClientWidth> , <nClientHeight> ] [ VIRTUAL WIDTH <nVirtualWindth> ] [ VIRTUAL HEIGHT <nVirtualHeight> ] [ TITLE <cTitle> ] [ ICON <cIconName> ] [ WINDOWTYPE STANDARD ] [ MAIN | CHILD | MDI | PANEL ] | [ WINDOWTYPE MAIN | CHILD | MIDI | PANEL] [ NOSHOW ] [ TOPMOST ] [ PALETTE ] [ NOAUTORELEASE ] [ NOMINIMIZE ] [ NOMAXIMIZE ] [ NOSIZE ] [ NOSYSMENU ] [ NOCAPTION ] [ CURSOR <CursorName> ] [ ON INIT<InitProcedureName> | <bBlock> ] [ ON RELEASE <ReleaseProcedureName> | <bBlock> ] [ ON INTERACTIVECLOSE <InteractiveCloseProcedureName> | <bBlock> ] [ ON MOUSECLICK<MouseClickProcedureName> | <bBlock> ] [ ON MOUSEDRAG<MouseDragProcedureName> | <bBlock> ] [ ON MOUSEMOVE<MouseMoveProcedureName> | <bBlock> ] [ ON MOVE<MoveProcedureName> | <bBlock> ] [ ON SIZE<WindowSizeProcedureName> | <bBlock> ] [ ON MAXIMIZE <WindowMaximizeProcedureName> | <bBlock> ] [ ON MINIMIZE <WindowMinimizeProcedureName> | <bBlock> ] [ ON RESTORE <WindowRestoreProcedureName> | <bBlock> ] [ ON PAINT<WindowPaintProcedureName> | <bBlock> ] [ ON DROPFILES {|aFiles| TakeDrop(aFiles)} ] [ BACKCOLOR <anBackColor> ] [ FONT <cFontName> SIZE <nFontSize> ] [ NOTIFYICON <cNotifyIconName> ] [ NOTIFYTOOLTIP <cNotifyTooltip> ] [ ON NOTIFYDBLCLICK <NotifyDblClick> | <bBlock>] ; [ ON NOTIFYBALLOONCLICK <NotifyBalloonClick> | <bBlock> ] ; [ ON NOTIFYCLICK <NotifyClickProcedure> | <bBlock> ] [ ON GOTFOCUS <ProcedureName> | <bBlock> ] [ ON LOSTFOCUS <ProcedureName> | <bBlock> ] [ ON SCROLLUP <ProcedureName> | <bBlock> ] [ ON SCROLLDOWN <ProcedureName> | <bBlock> ] [ ON SCROLLLEFT <ProcedureName> | <bBlock> ] [ ON SCROLLRIGHT <ProcedureName> | <bBlock> ] [ ON HSCROLLBOX <ProcedureName> | <bBlock> ] [ ON VSCROLLBOX <ProcedureName> | <bBlock> ] [ HELPBUTTON ] ... Control Definitions... END WINDOW Modal Window: DEFINE WINDOW <WindowName> [ AT <nRow> ,<nCol> ] [ ROW <nRow> ] [ COL <nCol> ] WIDTH <nWindth> HEIGHT <nHeight> [ CLIENTAREA <nClientWidth> , <nClientHeight> ] [ VIRTUAL WIDTH <nVirtualWindth> ] [ VIRTUAL HEIGHT <nVirtualHeight> ] [ TITLE <cTitle> ] [ ICON <cIconName> ] MODAL | WINDOWTYPE MODAL [ NOSHOW ] [ NOAUTORELEASE ] [ NOSIZE ] [ NOSYSMENU ] [ NOCAPTION ] [ CURSOR <CursorName> ] [ ON INIT<InitProcedureName> | <bBlock> ] [ ON RELEASE<ReleaseProcedureName> | <bBlock> ] [ ON INTERACTIVECLOSE <InteractiveCloseProcedureName> | <bBlock> ] [ ON MOUSECLICK<MouseClickProcedureName> | <bBlock> ] [ ON MOUSEDRAG<MouseDragProcedureName> | <bBlock> ] [ ON MOUSEMOVE<MouseMoveProcedureName> | <bBlock> ] [ ON MOVE<MoveProcedureName> | <bBlock> ] [ ON SIZE <WindowSizeProcedureName> | <bBlock> ] [ ON PAINT<WindowPaintProcedureName> | <bBlock> ] [ BACKCOLOR <anBackColor> ] [ FONT <cFontName> SIZE <nFontSize> ] [ ON GOTFOCUS <ProcedureName> | <bBlock> ] [ ON LOSTFOCUS <ProcedureName> | <bBlock> ] [ ON SCROLLUP <ProcedureName> | <bBlock> ] [ ON SCROLLDOWN <ProcedureName> | <bBlock> ] [ ON SCROLLLEFT <ProcedureName> | <bBlock> ] [ ON SCROLLRIGHT <ProcedureName> | <bBlock> ] [ ON HSCROLLBOX <ProcedureName> | <bBlock> ] [ ON VSCROLLBOX <ProcedureName> | <bBlock> ] [ HELPBUTTON ] ... Control Definitions... END WINDOW SplitChild Windows: DEFINE WINDOW <WindowName> WIDTH <nWindth> HEIGHT <nHeight> [ VIRTUAL WIDTH <nVirtualWindth> ] [ VIRTUAL HEIGHT <nVirtualHeight> ] [ TITLE <cTitle> ] SPLITCHILD | WINDOWTYPE SPLITCHILD [ NOCAPTION ] [ CURSOR <CursorName> ] [ FONT <cFontName> SIZE <nFontSize> ] [ GRIPPERTEXT ] [ BREAK ] [ FOCUSED ] [ ON GOTFOCUS <ProcedureName> | <bBlock> ] [ ON LOSTFOCUS <ProcedureName> | <bBlock> ] [ ON SCROLLUP <ProcedureName> | <bBlock> ] [ ON SCROLLDOWN <ProcedureName> | <bBlock> ] [ ON SCROLLLEFT <ProcedureName> | <bBlock> ] [ ON SCROLLRIGHT <ProcedureName> | <bBlock> ] [ ON HSCROLLBOX <ProcedureName> | <bBlock> ] [ ON VSCROLLBOX <ProcedureName> | <bBlock> ] ... Control Definitions... END WINDOW

Vlad04: Softlog86 Это определение окна. Хотелось бы при вызове события формы onInit переопределять тип формы, если возможно.

Vlad04: Типа SetProperty('Form1',...

Haz: Vlad04 пишет: Типа SetProperty('Form1 В харбуре есть SetWindowsLong() это и есть типа SetProperty() для окна. Тут справка из С http://vsokovikov.narod.ru/New_MSDN_API/Win_class/fn_setwindowlong.htm Нужно учесть что функция не меняет системные переменные MiniGui относящиеся к окнам и в результате возможна некорректная работа.

Vlad04: В харбуре есть SetWindowsLong() В справке нет описания этой функции, как правильно вызвать ?

Haz: Vlad04 пишет: В справке нет описания этой функции, Прости, опечатка SetWindowLong() - без S перед Long Примеры вызовов есть в примерах MiniGui вот тут хатя бы \MiniGUI\SAMPLES\Advanced\Transparency\demo.prg



полная версия страницы