Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 303

•  TDictionary Custom Sort  6 349

•  Fast Watermark Sources  6 138

•  3D Designer  9 075

•  Sik Screen Capture  6 461

•  Patch Maker  6 877

•  Айболит (remote control)  6 859

•  ListBox Drag & Drop  5 734

•  Доска для игры Реверси  96 625

•  Графические эффекты  7 079

•  Рисование по маске  6 380

•  Перетаскивание изображений  5 251

•  Canvas Drawing  5 622

•  Рисование Луны  5 323

•  Поворот изображения  4 871

•  Рисование стержней  3 456

•  Paint on Shape  2 714

•  Генератор кроссвордов  3 591

•  Головоломка Paletto  2 884

•  Теорема Монжа об окружностях  3 691

•  Пазл Numbrix  2 424

•  Заборы и коммивояжеры  3 106

•  Игра HIP  2 067

•  Игра Go (Го)  1 992

•  Симулятор лифта  2 351

•  Программа укладки плитки  2 053

•  Генератор лабиринта  2 512

•  Проверка числового ввода  2 199

•  HEX View  2 527

•  Физический маятник  2 141

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Многострочный Hint



Необходимо создать соответствующую компоненту которая показывает "быструю подсказку" (Hints) с более чем одной строкой. Компонента наследуется от TComponent и называется TMHint. Hint-текст можно задавать следующим образом: "Строка 1@Строка 2@Строка 3". Символ '@' используется как разделитель строк. Если Вам нравится другой символ - измените свойство Separator. Свойство Active указывает на активность (TRUE) или неактивность (FALSE) "многострочности".


unit MHint;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages,
  Classes, Graphics, Controls, Forms, Dialogs;

type
  TMHint = class(TComponent)
  private
    ScreenSize: Integer;
    FActive: Boolean;
    FSeparator: Char;
    FOnShowHint: TShowHintEvent;
  protected
    procedure SetActive(Value: Boolean);
    procedure SetSeparator(Value: char);
    procedure NewHintInfo(var HintStr: string; 
      var CanShow: Boolean;
      var HintInfo: THintInfo);
  public
    constructor Create(AOwner: TComponent); override;
  published
    property Active: Boolean
      read FActive write SetActive;
    property Separator: Char
      read FSeparator write SetSeparator;
  end;

procedure Register;

implementation

constructor TMHint.Create(AOwner: TComponent);

begin
  inherited Create(AOwner);
  FActive := True;
  FSeparator := '@';
  Application.OnShowHint := NewHintInfo;
  ScreenSize := GetSystemMetrics(SM_CYSCREEN);
end;

procedure TMHint.SetActive(Value: Boolean);

begin
  FActive := Value;
end;

procedure TMHint.SetSeparator(Value: Char);

begin
  FSeparator := Value;
end;

procedure TMHint.NewHintInfo(var HintStr: string; 
  var CanShow: Boolean;
  var HintInfo: THintInfo);

var 
  I: Byte;

begin
  if FActive then
    begin
      I := Pos(FSeparator, HintStr);
      while I > 0 do
        begin
          HintStr[I] := #13;
          I := Pos(FSeparator, HintStr);
        end;
      if HintInfo.HintPos.Y+10 > ScreenSize then
        HintInfo.HintPos.Y := ScreenSize-11;
    end;
end;

procedure Register;

begin
  RegisterComponents('MyComponents', [TMHint]);
end;

end.



Или вот ещ¸ пример. 



unit Multhnt1;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
Var I: Integer;
    S: String;
begin
for I := 0 to ComponentCount -1 do
  if Components[I] is TControl then
    With TControl(Components[I]) Do
    Begin
      S := Hint;
      While Pos('@',S) <> 0 Do
        S[Pos('@',S)] := #13;
      Hint := S;
    End;

end;

end.





Похожие по теме исходники

Cell Hint in DBGrid

FW Hint TrayIcon

Cell hint in StringGrid

TVistaHintStyle

 

ListBox Hints




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте