Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Рисование в таблице TDrawGrid

Перемещение картинок | События от мыши | Движение образа по удерживанию левой кнопки мыши | Код клавиши | По нажатию клавиши со стрелкой | Совмещение управляемого и неуправляемого движений. | В графических приложениях | Создание кнопок | Сортировка массива | Метод обмена |


Читайте также:
  1. Вертикальный анализ бухгалтерского баланса АРФ ОАО «Россельхозбанк» приведен в таблице 5.
  2. Добавление, переименование и удаление столбцов в таблице
  3. Конструкции подразделяются на классы по пожарной опасности в соответствии с таблицей 1 по наименее благоприятному показателю.
  4. Может быть представлена в таблице 4.1
  5. Норму понижения УГВ принимаем по таблице 4.3
  6. Определите нужный вам размер и цену по таблице
  7. Определите остроту зрения, пользуясь таблицей докт. Сивцева Д.А.

Постановка задачи. Выведите изображение в ячейку компонента TDrawGrid, по которой сделан клик мыши.

Реализация. Положите в папку рисунок. На пустой форме разместите компонент TDrawGrid. Вид формы приведен на рис. 36.

 

Рис. 36. Вид формы

 

Установите свойство DefaultDrawing компонента TDrawGrid
в позицию false. Чтобы по клику по ячейке получить номер и столбца, и строки, применим метод MouseToCell (x, y, Acol, ARow),
где x, y – координаты точки чувствительности мыши, Acol, ARow – номера столбца и строки. Код обработчиков FormCreate
и StringGrid1MouseDown приведен полностью, а результат показан на рис. 37.

Рис. 37. Проект «Рисунок по клику»

var Bitm: Tbitmap;

rect: Trect;

Acol, ARow, w, h: integer;

procedure TForm1.FormCreate(Sender: TObject);

begin

Bitm:= TBitMap.create;

BitM.LoadFromFile('гибикус.bmp');

with StringGrid1 do

begin

DefaultColWidth:= bitm.Width;

DefaultRowHeight:=bitm.Height;

w:=DefaultColWidth;

h:=DefaultRowHeight;

Width:=ColCount*w+10;

Height:=RowCount*h+10;

end;

Form1.Width:=StringGrid1.Width + 50;

Form1.Height:=StringGrid1.Height + 50;

rect:=bounds(0,0,bitm.Width,Bitm.Height);

end;

 

procedure TForm1.StringGrid1MouseDown(Sender: TObject;

Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

StringGrid1.MouseToCell(x, y, Acol, ARow);

StringGrid1.Canvas.CopyRect(StringGrid1.CellRect(Acol, ARow), bitm.Canvas, rect);

end;

Задание. Логическая игра «Расставь цветы». Задайте в компоненте TDrawGrid три строки и шесть столбцов. Играющий должен расставить 6 цветков так, чтобы в каждой строке и в каждом столбце число цветков было четным, при этом некоторые столбцы могут остаться пустыми. Напишите проверку правильности расстановки цветков.

6.2. Компоненты TListBox, TCombobox,


Дата добавления: 2015-08-20; просмотров: 66 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Система предварительной продажи билетов| Прорисовка изображений в списке TListBox

mybiblioteka.su - 2015-2024 год. (0.005 сек.)