Rapid-Q Documentation by William Yu (c)1999-2000 Appendix A: QFORM


QFORM Компонент

QForm это стандартное приложение Window. Вы можете поместить любой видимый компонент на форму, такие как QEdit, QLabel, QButton, etc...

W = Windows, X = Rapid-Q/XForms, G = Rapid-Q/GTK

QForm Свойства
ПолеТипRead/WriteПо умолчанию Поддерживается





AutoScrollINTEGERRWTrueW
Определяет, что движки скроллинга (scroll bars) будут появляться автоматически на форме, когда на форме недостаточно места для размещения всех компонентов.
BorderStyleINTEGERRWbsSizeableWXG
BorderStyle определяет вид и поведение формы.
0 = bsNone -- фиксированный размер; (Not resizeable); нет видимой границиы формы и заголовка (no visible border line or caption bar)
1 = bsSingle -- фиксированный размер; одинарная граница
2 = bsSizeable -- Стандартный изменяемый размер
3 = bsDialog -- фиксированный размер; Окно диалога
4 = bsToolWindow -- Как bsSingle; с уменьшенным заголовком формы
5 = bsSizeToolWin -- Как bsSizeable; с уменьшенным заголовком формы
CaptionSTRINGRWWXG
Caption - текст на заголовке формы.
ClientHeightINTEGERRWWXG
Высота клиентской области формы, то есть используемая облать внутри границ формы.
ClientWidthINTEGERRWWXG
Ширина клиентской области формы, то есть используемая облать внутри границ формы.
ColorINTEGERRWclBtnFaceW
Цвет формы.
CursorINTEGERRWcrDefaultW
Форма курсора мыши, когда курсор мыши проходит над формой.
FontQFONTWW
Шрифт, который используется при выводе теста на форму (TextOut method)
FormStyleINTEGERRWfsNormalW
Получить или установить стиль формы. CONST fsNormal = 0 CONST fsMDIChild = 1 ' требуется использовать специальный MDI компонент CONST fsMDIForm = 2 ' требуется использовать специальный MDI компонент CONST fsStayOnTop = 3 ' требуется использование дополнительного inc файла
HandleINTEGERRW
Получить указатель формы для использования в WinAPI функциях.
HeightINTEGERRWWXG
Высота формы (в пикселях).
HintSTRINGRWW
Строка всплывающей подсказки, при походе курсора мыши над формой. Свойство ShowHint должно быть установлено в True.
IcoHandleRESOURCEWW
Иконка для формы (через ресурс)
Пример:
$RESOURCE game_ICO AS "game.ico"
DIM Form AS QFORM
Form.IcoHandle = game_ICO
IconSTRINGWW
Иконка для формы (через имя внешнего файла)
KeyPreviewINTEGERRWFalseW
Определяет, что сначала нажатие клавиши обрабатывается процедурой окна, а потом уже поступает в контрол, где оно произошло. Предназначено для перехвата клавиатуры. Не все клавиши перехватываются.
LeftINTEGERRW0WXG
Положение левого края формы относительно края рабочего стола (в пискселах)
ModalResultINTEGERWW
Устанавливает значение ModalResult, когда окно закрывается, если оно было модальное.
0 = mrNone
1 = mrOk
2 = mrCancel
3 = mrAbort
4 = mrRetry
5 = mrIgnore
6 = mrYes
7 = mrNo
8 = mrAll
ParentQFORMWW
Assigning a parent will remove the second form from the taskbar.
PopupMenuQPOPUPMENUWW
Всплывающее меню (Popupmenus) которое будет показано при клике правой кнопкой мыши по форме.
Пример:
DIM PopupMenu AS QPOPUPMENU
DIM Form AS QFORM
Form.PopupMenu = PopupMenu
ShowHintINTEGERRWFalseW
Если установлено в True, то всплывающая подсказка будет показываться.
TopINTEGERRW0WXG
Положение верхнего края формы относительно края рабочего стола (в пискселах)
VisibleINTEGERRWFalseWXG
Устанавливает видимость формы
  • 0-невидимая
  • 1- видимая
  • WidthINTEGERRW320WXG
    Ширина формы
    WindowStateINTEGERRWwsNormalW
    Определяет как форма показана на экране.
    0 = wsNormal -- нормальный вид
    1 = wsMinimized -- свернуто
    2 = wsMaximized -- полностью развернуто


    QForm Методы
    МетодТипОписаниеПараметрыПоддерживается





    AddBorderIconsSUBIДобавляет иконки в заголовокINTEGER, InfiniteW
    Допустимы следующие значения:
    0 = biSystemMenu -- The form icon
    1 = biMinimize -- The minimize icon
    2 = biMaximized -- The maximize icon
    3 = biHelp -- The help icon
    Пример:
    $INCLUDE "RAPIDQ.INC"
    DIM Form AS QFORM
    Form.AddBorderIcons(biHelp)
    CenterSUBУстанавливает форму по центру экрана0WXG
    CircleSUB (x1%, y1%, x2%, y2%, c%, fill%) Рисует и заливает окружность/эллипс6W
    CloseSUBЗакрывает (уничтожает) форму0WXG
    CopyRect SUB (D, Image, S)D и S это QRECTs, Image - QImage, QCanvas, или QBitmap3W
    Пример (копирует QIMAGE на форму в координаты 10,10):
    DIM Destination AS QRECT
    DIM Source AS QRECT
    DIM Image AS QIMAGE
    Image.BMP = "whatever.bmp"

    SUB FormPaint (Sender AS QFORM)
    WITH Destination
    .Top = 10
    .Left = 10
    .Right = .Left+Image.Width
    .Bottom = .Top+Image.Height
    END WITH
    WITH Source
    .Top = 0
    .Left = 0
    .Right = Image.Width
    .Bottom = Image.Height
    END WITH
    Sender.CopyRect(Destination, Image, Source)
    END SUB

    DIM Form AS QFORM
    Form.OnPaint = FormPaint
    DelBorderIconsSUBIУдаляет иконки с заголовкаINTEGER, InfiniteW
    Допустимые иконки:
    0 = biSystemMenu -- The form icon
    1 = biMinimize -- The minimize icon
    2 = biMaximized -- The maximize icon
    3 = biHelp -- The help icon
    Пример:
    $INCLUDE "RAPIDQ.INC"
    DIM Form AS QFORM
    Form.DelBorderIcons(biMinimize)
    Детали:
    Удаление иконок не удаляет их с заголовка, а делает неактивными (серыми)
    DrawSUB (x%, y%, BMP)Выводит рисунок BMP на "холст" (Рисовать BitMap on Canvas)3W
    Детали:
    BMP может быть свойством любого компонента из QBitmap, QImage, QImageList, etc. или другого компонента
    Пример:
    DIM Image1 AS QIMAGE
    Image1.BMP = "whatever.bmp"
    DIM Image2 AS QBITMAP
    Image2.BMP = "whatever.bmp"

    SUB FormPaint (Sender AS QFORM)
    Sender.Draw(0, 0, Image1.BMP)
    Sender.Draw(50, 50, Image2.BMP)
    END SUB

    DIM Form AS QFORM
    Form.OnPaint = FormPaint
    FillRectSUB (x1%, y1%, x2%, y2%, c%)Рисует и заливает цветом прямоугольник5W
    HideTitleBarSUBСкрыть заголовок0W
    LineSUB (x1%, y1%, x2%, y2%, c%)Рисовать линию на форме5W
    PaintSUB (x%, y%, c%, borderc%)Заполняет область4W
    PsetSUB (x%, y%, c%)Рисует точку3W
    RectangleSUB (x1%, y1%, x2%, y2%, c%)Рисует прямоугольник5W
    RepaintSUBПерерисовать (обновить) форму0W
    RoundRectSUB (x1%, y1%, x2%, y2%, x3%, y3%, c%)Рисует & Заполняет цветом прямоугольник со скругленными углами7W
    ShapeForm SUB (Filename$|Resource, TransparentColor&) Придает форме контур рисунка из заданного файла (Shapes form as outline of image)2W
    Детали:
    Первый параметр может быть или имя BMP файла или файла BMP ресурса Второй параметр указывает какой цвет будет прозрачный.
    Пример 1:
    DIM Form AS QFORM
    Form.ShapeForm("image.bmp", &HFFFFFF)
    Пример 2:
    $RESOURCE image_BMP AS "image.bmp"

    DIM Form AS QFORM
    Form.ShapeForm(image_BMP, &HFFFFFF)
    ShowSUBПоказать форму0WX
    ShowModalFUNCTION AS SHORTПоказать форму и ждать результат0WXG
    ShowTitleBarSUBПоказать заголовок0W
    StretchDraw SUB (Rect AS QRECT, BMP) Нарисовать BMP и растянуть до заполнения заданного прямоугольника 2W
    Детали:
    BMP can be any BMP property from QBitmap, QImage, QImageList, etc. any component with a BMP property is fine.
    Пример (удвоение размера):
    DIM Image1 AS QIMAGE
    Image1.BMP = "whatever.bmp"

    SUB FormPaint (Sender AS QFORM)
    DIM R AS QRECT
    R.Left = 0
    R.Top = 0
    R.Right = Image1.Width*2
    R.Bottom = Image1.Height*2
    Sender.StretchDraw(R Image1.BMP)
    END SUB

    DIM Form AS QFORM
    Form.OnPaint = FormPaint
    TextHeightFUNCTION (Text$) AS WORDВозвращает высоту, в пикселях, строки Text$1W
    TextWidthFUNCTION (Text$) AS WORDВозвращает ширину, в пикселях, строки Text$1W
    TextRectSUB (Rect AS QRECT, x%, y%, S$, fc%, bc%)Write text, and clip within region Rect6W
    TextOutSUB (x%, y%, s$, fc%, bc%)Write text to form5W
    Детали:
    fc% = цвет текста
    bc% = цвет фона
    Для прозрачного фона, установите bc% в -1


    QForm События
    СобытиеТипПроисходит когда...ПараметрыПоддерживается





    OnClickVOIDПользователь кликнул на форме0W
    OnCloseSUB (Action AS INTEGER)Закрытие формы1W
    OnHintSUB (Hint AS STRING)Показ подсказки1W
    OnKeyDownSUB (Key AS Word, Shift AS INTEGER)Клавиша нажата2W
    OnKeyPressSUB (Key AS BYTE)Нажатие клавиши1W
    OnKeyUpSUB (Key AS Word, Shift AS INTEGER)Клавиша отпущена2W
    OnMouseDownSUB (Button%, X%, Y%, Shift%)Нажатие кнопки мыши4W
    OnMouseMoveSUB (X%, Y%, Shift%)Движение мыши3W
    OnMouseUpSUB (Button%, X%, Y%, Shift%)Кнопка мыши отпущена4W
    OnPaintVOIDПерерисовка формы0W
    OnResizeVOIDИзменение размера формы0W
    OnShowVOIDФорма показана0W
    WndProcSUB (Hwnd%, Msg%, wParam%, lParam%)Обработка сообщения оконной процедурой4W
    Допускается только одна процедура для формы. Исправлено сторонними дополнениями.


    QForm Примеры
      DIM Form AS QForm
      DIM Button AS QBUTTON
    
      Button.Parent = Form     '' Add button to form container
      Form.Center
      Form.Caption = "Hello world!"
    
      IF Form.ShowModal THEN
        PRINT "Return result is TRUE"
      ELSE
        PRINT "Return result is FALSE"
      END IF
    

    Предыдущий Компонент Содержание Следующий Компонент