Unit UIPublic

Description

 

Overview

Classes, Interfaces, Objects and Records

Name Description
Record TomCustomButton  
Class TUIPublic_HotspotHandler  

Functions and Procedures

procedure WrapText (ACanvas: TCanvas; ARect: TRect; AText: TxomStrings);
function CreateAntialiasedFontHandle (Font : TFont): THandle;
function WideCanvasTextWidth (ACanvas: TCanvas; AText: WideString): Integer;
function WideCanvasTextHeight (ACanvas: TCanvas; AText: WideString): Integer;
procedure WideCanvasTextOut (ACanvas: TCanvas; X, Y: Integer; AText: WideString);
procedure WideCanvasTextRect (ACanvas: TCanvas; ARect: TRect; X, Y: Integer; AText: WideString; AWrapped: Boolean = False; AMultiLineCentered: Boolean = True);
function DefaultWndOwner: HWND;
function DefaultWinOwner: TWinControl;
function ForceForegroundWindow(AHandle: HWND): Boolean;
function GetWindowOnTop (InstHandle: HWND): HWND;
procedure ForceFormToMonitor (AForm: TForm; AMonitor: TMonitor);
function BoundsRectForMonitor(AMon: TMonitor): TRect;
function MonitorFromPoint(APoint: types.TPoint): TMonitor;
function KeyboardStateToShiftState: TShiftState;
function HTMLColorToColor (AHTMLColor: String): TColor;
function ColorToHTMLColor(AColor: TColor): String;
function ColorInvert (AColor: TColor): TColor;
function RandomColor: TColor;
function ColorFromSysColor (ASysColor: TColor): TColor;
function ColorMinus (AColor, AMinColor: TColor): TColor;
function ColorAdd (AColor, AAddColor: TColor): TColor;
function RGBToGray (ARed, AGreen, ABlue: Byte): Byte;
function ColorToGray (AColor: TColor): TColor;
procedure ColorSchemeForColor (AColor: TColor; var AColorScheme: TColorScheme);
function TopForm (AControl: TWinControl; AInclusive: Boolean = False): TCustomForm;
function TopFrame (AControl: TWinControl): TFrame;
function TopClass (AControl: TWinControl; AClass: TClass): TWinControl;
function TopOwnerClass (AControl: TWinControl; AClass: TClass): TComponent;
function ParentForm (AControl: TWinControl): TCustomForm;
function ParentControlClass (AControl: TWinControl; AClass: TClass): TWinControl;
function ChildControlClass (AControl: TWinControl; AClass: TClass; AHierarchical: Boolean): TWinControl;
function IsShortCutForControl (AWinControl: TWinControl; Key: Word; Shift: TShiftState): Boolean;
procedure PostKeyEx(hWindow: HWND; Key: Word; const shift: TShiftState; Specialkey: Boolean);
procedure ShortCutToKey(const AShortcut: TShortCut; var Key: Word; var Shift: TShiftState);
function ShortCutToString(const AShortCut: TShortCut): WideString;
function ShortCutKeyToString(const Key: Word; const Shift: TShiftState): WideString;
function IsMouseOverControl(AControl: TControl): Boolean;
function IsMouseButtonDown (AButton: TMouseButton): Boolean;
procedure CaretPosHandle(AHandle: THandle; var APos: TPoint);
procedure CaretSetPosHandle(AHandle: THandle; var APos: TPoint);
procedure CaretSetPos(AControl: TWinControl; var APos: TPoint);
procedure CaretPos(AControl: TWinControl; var APos: TPoint);
procedure CopyJPEG (ASourceJPEG: TJPEGImage; ATargetJPEG: TJPEGImage);
function FindChildControlAtPos (AControl: TWinControl; APoint: TPoint; AClass: TClass): TControl;
function BitmapToIcon (Bitmap: TBitmap): TIcon;
procedure Say (const AText: Variant; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
function Ask (const AText: Variant; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
procedure Say2 (const AText: Variant; const ASubText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
function Ask2 (const AText: Variant; const ASubText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
procedure Say3 (const AText: Variant; const ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
function Ask3 (const AText: Variant; ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
procedure SayBase (const ATitle: WideString; const AText: Variant; const ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
function AskChecked (const AText: Variant; const ASubText: WideString; const AInfoText: WideString; const ACheckText: WideString; var ACheckResult: Boolean; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
function AskCustom (const ATitle: WideString; const AText: Variant; const ASubText: WideString; const AInfoText: WideString; const ACheckText: WideString; var ACheckResult: Boolean; const AButtons: TomCustomButtons; var AButtonResults: TomCustomButtons; const ADefaultButtons: TMsgDlgButtons = []; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
function AskYN (const AText: Variant; const ASubText: WideString = ''; const AInfoText: WideString = ''): Boolean;
function SayItOnce (const ATextID, AText: WideString; const ASubText: WideString = ''; const AInfoText: WideString = ''; const ATimeToWaitMs: Cardinal = 0; const ADontSayText: Widestring = '-'; const ADialogType: TMsgDlgType = mtInformation): Boolean;
function AskItOnce (const ATextID, AText: WideString; const ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADefaultAnswer: Integer = mrNone; const ATimeToWaitMs: Cardinal = 0; ADontAskText: Widestring = '-'; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
function AskName (const ACaption, APrompt: WideString; var AName: WideString; const ARequired: Boolean = True; const AIsPassword: Boolean = False; const APopup: TPopupMenu = nil; const AEditorType: TInputQueryType = iqtTextBox): Boolean;
function AskName2 (const ACaption, APrompt: WideString; const ASubText: WideString; var AName: WideString; const ARequired: Boolean = True; const AIsPassword: Boolean = False; const APopup: TPopupMenu = nil; const AEditorType: TInputQueryType = iqtTextBox): Boolean;
function AskInput (const ACaption, APrompt: WideString; const ASubText: WideString; var AValue: WideString; const AIsPassword: Boolean = False; const APopup: TPopupMenu = nil; const AEditorType: TInputQueryType = iqtTextBox): Boolean;
procedure Announce (const ACaption, AText: Variant);
function SafeTaskDlg(const ATitle, ADesc, AMsg, AInfo: WideString; const ADialogType: TMsgDlgType; const AButtons: TMsgDlgButtons; const ACustomButtons: TomCustomButtons; const AHelpCtx: Longint; const ACheckboxText: WideString; var ACheckBoxResult: Boolean; var AOptionResults: TomCustomButtons; const ARequireResult: Boolean = True): Integer;
function MsgDlgButtonCaption(const AKind: TMsgDlgBtn): WideString;
function FindJpegInStream(AStream: TStream; var AStartPos: Int64; out AEndPos: Int64; AResult: TGraphic; AMinDim: Integer = 0; AMaxDim: Integer = 0; AReversed: Boolean = False; AMinStreamSize: Integer = -1; AMaxStreamSize: Integer = -1; AStopMark: Int64 = -1; AJpgID: AnsiString = #$FF#$D8#$FF): Boolean;
function TaskDlg(const ATitle, ADesc, AMsg, AInfo: WideString; const ADialogType: TMsgDlgType; const AButtons: TMsgDlgButtons; const ACustomButtons: TomCustomButtons; const AHelpCtx: Longint; const ACheckboxText: WideString; var ACheckBoxResult: Boolean; var AOptionResults: TomCustomButtons; const ARequireResult: Boolean = True): Integer;
procedure AskAppStoreRating;
function RequestInternetConnected: Boolean;
procedure UIPublic_initialization;
procedure UIPublic_finalization;

Types

TGlobalHotspotHandlerType = function(Sender: TObject; AHotspotObject: TObject): Boolean of object;
TColorScheme = Array[0..5] of TColor;
TInputQueryType = (...);
TomCustomButtons = Array of TomCustomButton;

Variables

InternalHotspotHandler: TUIPublic_HotspotHandler = nil;
GlobalHotspotHandler: TGlobalHotspotHandlerType = nil;
MsgDlgBtnResults: Array[TMsgDlgBtn] of TModalResult = (mrYes, mrNo, mrOK, mrCancel, mrAbort, mrRetry, mrIgnore, mrAll, mrNoToAll, mrYesToAll, mrNone, mrClose);
NullColorScheme: TColorScheme = (clNone, clNone, clNone, clNone, clNone, clNone);
NullCustomButtons: TomCustomButtons;

Description

Functions and Procedures

procedure WrapText (ACanvas: TCanvas; ARect: TRect; AText: TxomStrings);
 
function CreateAntialiasedFontHandle (Font : TFont): THandle;
 
function WideCanvasTextWidth (ACanvas: TCanvas; AText: WideString): Integer;
 
function WideCanvasTextHeight (ACanvas: TCanvas; AText: WideString): Integer;
 
procedure WideCanvasTextOut (ACanvas: TCanvas; X, Y: Integer; AText: WideString);
 
procedure WideCanvasTextRect (ACanvas: TCanvas; ARect: TRect; X, Y: Integer; AText: WideString; AWrapped: Boolean = False; AMultiLineCentered: Boolean = True);
 
function DefaultWndOwner: HWND;
 
function DefaultWinOwner: TWinControl;
 
function ForceForegroundWindow(AHandle: HWND): Boolean;

forces an app to become the foreground window

function GetWindowOnTop (InstHandle: HWND): HWND;

finds the handle of the top-level (z-order) window

procedure ForceFormToMonitor (AForm: TForm; AMonitor: TMonitor);

forces a form to display on a specific monitor

function BoundsRectForMonitor(AMon: TMonitor): TRect;
 
function MonitorFromPoint(APoint: types.TPoint): TMonitor;
 
function KeyboardStateToShiftState: TShiftState;

return the current keyboard state

function HTMLColorToColor (AHTMLColor: String): TColor;

translate a HTML color to a TColor

function ColorToHTMLColor(AColor: TColor): String;

translate a TColor to a HTml color spec

function ColorInvert (AColor: TColor): TColor;

invert an existing color to a new color

function RandomColor: TColor;

select a random color

function ColorFromSysColor (ASysColor: TColor): TColor;

change a system color to a real color value

function ColorMinus (AColor, AMinColor: TColor): TColor;

subtract two colors

function ColorAdd (AColor, AAddColor: TColor): TColor;

add two colors

function RGBToGray (ARed, AGreen, ABlue: Byte): Byte;

convert RGB values to a gray value

function ColorToGray (AColor: TColor): TColor;

convert a color to a gray color

procedure ColorSchemeForColor (AColor: TColor; var AColorScheme: TColorScheme);

enumerate a color scheme for a specified color

function TopForm (AControl: TWinControl; AInclusive: Boolean = False): TCustomForm;

minus gray retrieve the top level form of a control

function TopFrame (AControl: TWinControl): TFrame;

retrieve the top level frame

function TopClass (AControl: TWinControl; AClass: TClass): TWinControl;

retrieve the top level parent control of a specific class

function TopOwnerClass (AControl: TWinControl; AClass: TClass): TComponent;

retrieve the top level owner control of a specific class

function ParentForm (AControl: TWinControl): TCustomForm;

retrieve first parent form of a control

function ParentControlClass (AControl: TWinControl; AClass: TClass): TWinControl;

retrieve first parent control of a specific class

function ChildControlClass (AControl: TWinControl; AClass: TClass; AHierarchical: Boolean): TWinControl;

retrieve first child control of a specific class

function IsShortCutForControl (AWinControl: TWinControl; Key: Word; Shift: TShiftState): Boolean;
 
procedure PostKeyEx(hWindow: HWND; Key: Word; const shift: TShiftState; Specialkey: Boolean);
 
procedure ShortCutToKey(const AShortcut: TShortCut; var Key: Word; var Shift: TShiftState);
 
function ShortCutToString(const AShortCut: TShortCut): WideString;
 
function ShortCutKeyToString(const Key: Word; const Shift: TShiftState): WideString;
 
function IsMouseOverControl(AControl: TControl): Boolean;

returns True if the mouse is currently within the boiunds area of a specific control

function IsMouseButtonDown (AButton: TMouseButton): Boolean;

query the state of the mouse buttons

procedure CaretPosHandle(AHandle: THandle; var APos: TPoint);
 
procedure CaretSetPosHandle(AHandle: THandle; var APos: TPoint);
 
procedure CaretSetPos(AControl: TWinControl; var APos: TPoint);
 
procedure CaretPos(AControl: TWinControl; var APos: TPoint);
 
procedure CopyJPEG (ASourceJPEG: TJPEGImage; ATargetJPEG: TJPEGImage);
 
function FindChildControlAtPos (AControl: TWinControl; APoint: TPoint; AClass: TClass): TControl;

find a child control for a control, and search for a specific windows control's class

function BitmapToIcon (Bitmap: TBitmap): TIcon;
 
procedure Say (const AText: Variant; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
 
function Ask (const AText: Variant; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
 
procedure Say2 (const AText: Variant; const ASubText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
 
function Ask2 (const AText: Variant; const ASubText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
 
procedure Say3 (const AText: Variant; const ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
 
function Ask3 (const AText: Variant; ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
 
procedure SayBase (const ATitle: WideString; const AText: Variant; const ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK]; const ADialogType: TMsgDlgType = mtInformation);
 
function AskChecked (const AText: Variant; const ASubText: WideString; const AInfoText: WideString; const ACheckText: WideString; var ACheckResult: Boolean; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
 
function AskCustom (const ATitle: WideString; const AText: Variant; const ASubText: WideString; const AInfoText: WideString; const ACheckText: WideString; var ACheckResult: Boolean; const AButtons: TomCustomButtons; var AButtonResults: TomCustomButtons; const ADefaultButtons: TMsgDlgButtons = []; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
 
function AskYN (const AText: Variant; const ASubText: WideString = ''; const AInfoText: WideString = ''): Boolean;
 
function SayItOnce (const ATextID, AText: WideString; const ASubText: WideString = ''; const AInfoText: WideString = ''; const ATimeToWaitMs: Cardinal = 0; const ADontSayText: Widestring = '-'; const ADialogType: TMsgDlgType = mtInformation): Boolean;
 
function AskItOnce (const ATextID, AText: WideString; const ASubText: WideString = ''; const AInfoText: WideString = ''; const AButtons: TMsgDlgButtons = [mbOK, mbCancel]; const ADefaultAnswer: Integer = mrNone; const ATimeToWaitMs: Cardinal = 0; ADontAskText: Widestring = '-'; const ADialogType: TMsgDlgType = mtConfirmation): Integer;
 
function AskName (const ACaption, APrompt: WideString; var AName: WideString; const ARequired: Boolean = True; const AIsPassword: Boolean = False; const APopup: TPopupMenu = nil; const AEditorType: TInputQueryType = iqtTextBox): Boolean;
 
function AskName2 (const ACaption, APrompt: WideString; const ASubText: WideString; var AName: WideString; const ARequired: Boolean = True; const AIsPassword: Boolean = False; const APopup: TPopupMenu = nil; const AEditorType: TInputQueryType = iqtTextBox): Boolean;
 
function AskInput (const ACaption, APrompt: WideString; const ASubText: WideString; var AValue: WideString; const AIsPassword: Boolean = False; const APopup: TPopupMenu = nil; const AEditorType: TInputQueryType = iqtTextBox): Boolean;
 
procedure Announce (const ACaption, AText: Variant);
 
function SafeTaskDlg(const ATitle, ADesc, AMsg, AInfo: WideString; const ADialogType: TMsgDlgType; const AButtons: TMsgDlgButtons; const ACustomButtons: TomCustomButtons; const AHelpCtx: Longint; const ACheckboxText: WideString; var ACheckBoxResult: Boolean; var AOptionResults: TomCustomButtons; const ARequireResult: Boolean = True): Integer;

used in threads

function MsgDlgButtonCaption(const AKind: TMsgDlgBtn): WideString;
 
function FindJpegInStream(AStream: TStream; var AStartPos: Int64; out AEndPos: Int64; AResult: TGraphic; AMinDim: Integer = 0; AMaxDim: Integer = 0; AReversed: Boolean = False; AMinStreamSize: Integer = -1; AMaxStreamSize: Integer = -1; AStopMark: Int64 = -1; AJpgID: AnsiString = #$FF#$D8#$FF): Boolean;

find a specific JPEG image inside a stream

function TaskDlg(const ATitle, ADesc, AMsg, AInfo: WideString; const ADialogType: TMsgDlgType; const AButtons: TMsgDlgButtons; const ACustomButtons: TomCustomButtons; const AHelpCtx: Longint; const ACheckboxText: WideString; var ACheckBoxResult: Boolean; var AOptionResults: TomCustomButtons; const ARequireResult: Boolean = True): Integer;
 
procedure AskAppStoreRating;
 
function RequestInternetConnected: Boolean;

request for an active connection (if not connected yet)

procedure UIPublic_initialization;
 
procedure UIPublic_finalization;
 

Types

TGlobalHotspotHandlerType = function(Sender: TObject; AHotspotObject: TObject): Boolean of object;
 
TColorScheme = Array[0..5] of TColor;
 
TInputQueryType = (...);
 
Values
  • iqtTextBox
  • iqtMemo
TomCustomButtons = Array of TomCustomButton;
 

Variables

InternalHotspotHandler: TUIPublic_HotspotHandler = nil;
 
GlobalHotspotHandler: TGlobalHotspotHandlerType = nil;
 
MsgDlgBtnResults: Array[TMsgDlgBtn] of TModalResult = (mrYes, mrNo, mrOK, mrCancel, mrAbort, mrRetry, mrIgnore, mrAll, mrNoToAll, mrYesToAll, mrNone, mrClose);
 
NullColorScheme: TColorScheme = (clNone, clNone, clNone, clNone, clNone, clNone);
 
NullCustomButtons: TomCustomButtons;
 

Generated by PasDoc 0.15.0.