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

•  Animation Loaders  963

•  DeLiKaTeS Tetris (Тетрис)  5 898

•  TDictionary Custom Sort  7 850

•  Fast Watermark Sources  7 519

•  3D Designer  10 748

•  Sik Screen Capture  8 078

•  Patch Maker  8 279

•  Айболит (remote control)  8 325

•  ListBox Drag & Drop  7 161

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

•  Графические эффекты  8 392

•  Рисование по маске  7 768

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

•  Canvas Drawing  6 738

•  Рисование Луны  6 667

•  Поворот изображения  5 799

•  Рисование стержней  4 742

•  Paint on Shape  3 442

•  Генератор кроссвордов  4 435

•  Головоломка Paletto  3 577

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

•  Пазл Numbrix  2 833

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

•  Игра HIP  2 552

•  Игра Go (Го)  2 558

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

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

•  Генератор лабиринта  3 124

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

•  HEX View  3 014

 
скрыть

  Форум  

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

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



Delphi Sources

Реализация события OnColumnClick из TListView для TStringGrid



Оформил: DeeCo

{ 
 There are two routines to implement the OnColumnClick Methods for a TStringGrid. 
 Set the first row as fixed and the Defaultdrawing to True. 

 Mit folgenden zwei Routinen kann man in einem TStringgrid 
 die Methode OnColumnClick eines TListView erzeugen (visuell). 
 Reihe 0 mu? fixiert sein undDefaultDrawing = True 
}


 type
   TForm1 = class(TForm)
     StringGrid1: TStringGrid;
     procedure StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
     procedure StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
       Shift: TShiftState; X, Y: Integer);
   private
     zelle: TRect; // cell 
    acol, arow: Integer;
   public
   end;

 var
   Form1: TForm1;

 implementation

 {$R *.DFM}

 procedure TForm1.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 var
   Text: string;
 begin
   with stringgrid1 do
   begin
     MouseRoCell(x, y, acol, arow);
     if (arow = 0) and (button = mbleft) then
       case acol of
         0..2:
           begin
             // Draws a 3D Effect (Push) 
            // Zeichnet 3D-Effekt (Push) 
            zelle := CellRect(acol, arow);
             Text := Cells[acol, arow];
             Canvas.Font := Font;
             Canvas.Brush.Color := clBtnFace;
             Canvas.FillRect(zelle);
             Canvas.TextRect(zelle, zelle.Left + 2, zelle.Top + 2, Text);
             DrawEdge(Canvas.Handle, zelle, 10, 2 or 4 or 8);
             DrawEdge(Canvas.Handle, zelle, 2 or 4, 1);
           end;
       end;
   end;
 end;

 procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
   Shift: TShiftState; X, Y: Integer);
 var
   Text: string;
 begin
   with StringGrid1 do
   begin
     // Draws a 3D-Effect (Up) 
    // Zeichnet 3D-Effekt (Up) 
    Text := Cells[acol, arow];
     if arow = 0 then
     begin
       Canvas.Font := Font;
       Canvas.Brush.Color := clBtnFace;
       Canvas.FillRect(zelle);
       Canvas.TextRect(zelle, zelle.Left + 2, zelle.Top + 2, Text);
       DrawEdge(Canvas.Handle, zelle, 4, 4 or 8);
       DrawEdge(Canvas.Handle, zelle, 4, 1 or 2);
       MouseToCell(zelle.Left, zelle.Top, acol, arow);
     end;
   end;
   if (arow = 0) and (Button = mbleft) then
     case acol of
       0..2:
         begin
           // Code to be executed... 
          // Programmcode der ausgefuhrt werden soll 
          ShowMessage('Column ' + IntToStr(acol));
           zelle := stringgrid1.CellRect(1, 1);
         end;
     end;
 end;

 end.




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

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

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

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

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

 

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

TStringGridCheker




Copyright © 2004-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

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