Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.02.2009, 20:15   #1
Sanakan
Пользователь
 
Регистрация: 03.12.2008
Сообщений: 47
По умолчанию Delphi 7

В ячейках DrawGrid'a забиты все символы шрифта. Как вывести содержимое выбранной ячейки, например в label?

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Bevel1: TBevel;
    DrawGrid1: TDrawGrid;
    ComboBox1: TComboBox;
    Label1: TLabel;
    procedure DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure ComboBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure DrawGrid1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses DateUtils;

{$R *.dfm}

procedure TForm1.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
With DrawGrid1.Canvas do
begin
Font.Size:=DrawGrid1.DefaultRowHeight div 2;
TextRect(Rect,Rect.Left,Rect.Top,Char((aRow+1)*DrawGrid1.ColCount+aCol));
end;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
DrawGrid1.Font.Name:=ComboBox1.Text;
Caption:='Font Display-'+DrawGrid1.Font.Name;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
With ComboBox1 do
begin
Items:=Screen.Fonts;
ItemIndex:=Items.IndexOf(Font.Name);
end;
Caption:='Font Display'+Font.Name;
end;

procedure TForm1.FormResize(Sender: TObject);
begin
DrawGrid1.DefaultRowHeight:=ClientHeight div (DrawGrid1.RowCount+2)-1;
DrawGrid1.DefaultColWidth:=ClientWidth div (DrawGrid1.ColCount+1);
Refresh;
end;

procedure TForm1.DrawGrid1Click(Sender: TObject);
begin
//    ??????
end;

end.
Sanakan вне форума Ответить с цитированием
Старый 02.02.2009, 20:26   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

DrawGrid1.Row - номер выбранной строки.
DrawGrid1.Col - номер выбранной колонки.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа-тест в Delphi) скиньте))а то програмку здавать преподу надо,и самой хочется понять Delphi Верчик Помощь студентам 9 02.03.2009 17:46
delphi 9 или delphi 2005 вопрос о работе Doget Компоненты Delphi 0 07.07.2008 08:50
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54
не StringGrid1.Cells[1,1]:='Delphi'; а вот так SG1.C[1,1]:='Delphi' Nemesisking Компоненты Delphi 7 08.09.2007 03:27