Font.Color := (StringGrid1.Objects[col,row] as
TextOut(Rect.Left+2, Rect.Top+2, StringGrid1.Cells[Col,Row]);
Font.Color := OldColor;
end
end
…
procedure
var
begin
With
For i := left to
for j := top to
MessageDlg(IntToStr(i) + ',' + IntToStr(j) + '-' + IntToStr((StringGrid1.Objects[i,j] as
end
Этот компонент не позволяет делать многочисленный выбор….
Покрашенный StringGrid II
Delphi 1
В данном модуле демонстрируется техника изменения цвета у выводимого в StringGrid текста.
unit
interface
uses
type
StringGrid1: TStringGrid;
procedure
private
{ Private declarations }
public
{ Public declarations }
end
var
implementation
{$R *.DFM}
procedure
const
begin
with
font.color := clMaroon;
textout(rect.left + CharOffset, rect.top + CharOffset, 'L');
font.color := clNavy;
textout(rect.left + CharOffset + TextWidth('L'), rect.top + CharOffset, 'loyd');
end
end
end
Редактирование в StringGrid
Delphi 1
…правда, я этого не пробовал, но в голову пришли две идеи:
1. Нажмите на втором поле редактировании, переведите фокус на другое поле (например, x.focus, где x не сетка), сбросьте goEditing и selectRow и затем верните фокус назад сетке. (Эта техника работала у меня в нескольких местах, например, в градах и мемах.)
2. Нажмите на втором поле редактирования, и после сброса goEditing и selectRow, попробуйте создать tGridRect, подсвечивающий нужную вам строку, после чего делайте grid.Selection := gridRect;
Tabbednotebook
Tabbednotebook и куча ресурсов
Тема
: Как избежать использования кучи ресурсов (Resource Heap) при работе с TabbedNotebookДанный документ расскажет о том, как с помощью Object Pascal можно управлять числом активных handlesWindows (оконных дескрипторов), в особенности кучей ресурсов пользователя (User Resource heap), а также следить за этими показателями. О чем этот документ? Попробую коротко и доходчиво: Windows следит за каждым элементом, имеющим фокус, через его дескриптор (Handle). Исходя из этого, Windows не может одновременно поддерживать несколько оконных дескрипторов (4-байтных указателей), и в этом совете мы приведем простой пример кода, позволяющего «легко» загружать ресурсы и обходить эти ограничения, встающие перед разработчиками Delphi.
USER DLL в действительности является библиоткой, распределяющей и поддерживающей ресурсы для всех окон и связанных структур данных, включая элементы управления, имеющие фокус, и другие неупомянутые объекты, но вместе с тем необходимо помнить, что эта библиотека работает под Windows. С этим связаны ограничения при работе с ресурсами USER DLL, и эта та проблема, над которой мы будем работать в этом совете. Данный пример добавляет загрузку ресурса для каждого элемента управления, добавляемого на форму, здесь мы берем 4 байта из кучи USER в 64K[1]
.Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT