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

•  DeLiKaTeS Tetris (Тетрис)  166

•  TDictionary Custom Sort  3 340

•  Fast Watermark Sources  3 093

•  3D Designer  4 849

•  Sik Screen Capture  3 348

•  Patch Maker  3 554

•  Айболит (remote control)  3 664

•  ListBox Drag & Drop  3 016

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

•  Графические эффекты  3 946

•  Рисование по маске  3 250

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

•  Canvas Drawing  2 754

•  Рисование Луны  2 584

•  Поворот изображения  2 191

•  Рисование стержней  2 169

•  Paint on Shape  1 569

•  Генератор кроссвордов  2 239

•  Головоломка Paletto  1 767

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

•  Пазл Numbrix  1 685

•  Заборы и коммивояжеры  2 057

•  Игра HIP  1 282

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

•  Симулятор лифта  1 475

•  Программа укладки плитки  1 219

•  Генератор лабиринта  1 548

•  Проверка числового ввода  1 366

•  HEX View  1 497

•  Физический маятник  1 358

 
скрыть


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

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



Delphi Sources

Как показать Hint для частично видимых элементов ListBox




procedure TForm1.ListBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
const
  oldidx : Longint = -1;
var
  idx : Longint;
begin
  with Sender as TListBox do begin
    idx := ItemAtPos(Point(x,y),True);
    if (idx < 0) or (idx = oldidx) then Exit;
    Application.ProcessMessages; 
    Application.CancelHint;
    oldidx := idx;
    Hint := '';
    if Canvas.TextWidth(Items[idx]) > Width - 4 then Hint:=Items[idx];
  end;
end;

или


procedure TfmDWMain.lbSearchMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  ItemNum: Integer;
begin
  ItemNum := lbSearch.ItemAtPos(Point(X, Y), True);
  if (ItemNum <> HintRow) then
  begin
    HintRow := ItemNum;
    Application.CancelHint;
    if HintRow > -1 then
    begin
      HintString := lbSearch.Items[ItemNum];
      if (lbSearch.Canvas.TextWidth(HintString) <= lbSearch.ClientWidth - 25) then
        HintString := '';
    end
    else
      HintString := '';
  end;
end;

procedure TfmDWMain.OnShowHint(var HintStr: string;
  var CanShow: Boolean; var HintInfo: THintInfo);
begin
  if not (HintInfo.HintControl is TListBox) then Exit;
  with HintInfo.HintControl as TListBox do begin
    HintInfo.HintPos := lbSearch.ClientToScreen(Point(21,
      lbSearch.ItemRect(HintRow).Top + 1));
    HintStr := HintString;
  end;
end;





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

Cell Hint in DBGrid

FW Hint TrayIcon

Cell hint in StringGrid

TVistaHintStyle

 

ListBox Hints

Нейросеть для распознавания образов

Механизм станка качалки для нефти

Весы для взвешивания

 

Кувшины для воды

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

CheckListBox Draw

Search text in ListBox

 

ListBox Elements Sort

Transparent ListBox

ListBox ComboBox

File icons in TFileListBox

 

ListBox Drag & Drop




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

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