![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Графика [D5]
Ghost del vonte © (2010-10-02 02:58:00)В моей программе надо рисовать на компоненте TDrawGrid, стоит свернуть программу или переключится на другое окно, рисование исчезает, как это устранить? (чтобы не исчезало)
Ghost del vonte (2010-10-02 22:56:00) [21]Удалено модератором
Примечание: Один вопрос, одна тема.
Amoeba_ (2010-10-02 22:21:00) [22]
> у меня Винда Виста, она не поддерживает справочную систему
> Дельфи 5 или 7
Скачай с сайта MS Winhelp.exe для Vista, и будет тебе поддержка.
Ghost del vonte (2010-10-02 22:07:00) [23]
> и что, все ячейки должны быть закрашены цветом из переменной
> DColor. Берёшь отладчик и смотришь, что же за цвет в ней
> сохранён. А ещё наглядней вместо статусбара создаёшь мемо
> к примеру и пишешь туда координаты и значения этой переменной.
>
Зря здесь нельзя видео размещать, не поленился бы этот процесс записать и показать.... ладно, закроем тему, не знаю, у меня Винда Виста, она не поддерживает справочную систему Дельфи 5 или 7!
Плохиш (2010-10-02 21:36:00) [24]
> Ghost del vonte (02.10.10 21:32) [35]
> Вот что у меня там стоит...
и что, все ячейки должны быть закрашены цветом из переменной DColor. Берёшь отладчик и смотришь, что же за цвет в ней сохранён. А ещё наглядней вместо статусбара создаёшь мемо к примеру и пишешь туда координаты и значения этой переменной.
Плохиш (2010-10-02 21:33:00) [25]
> Ghost del vonte (02.10.10 21:30) [33]
> Я уже запутался, как же тогда сделать?
Надо использовать свои критерии для закраски ячеек, а все случаи, когда ячейка имеет свойство gdSelected, перечисленны в справки.
Ghost del vonte (2010-10-02 21:32:00) [26]procedure TfmLora.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
// if gdSelected in State then
// begin
DrawGrid1.Canvas.Brush.Color:= DColor;
DrawGrid1.Canvas.FillRect(Rect);
//InvalidateRect(DrawGrid1.Canvas.Handle, nil, false);
//DrawGrid1.Invalidate;
//Bitmap.Canvas.Brush.Color:= Panel1.Color;
//Bitmap.Canvas.FillRect(Rect);
StatusBar1.Panels[1].Text:= 'Col: '+IntToStr(ACol)+' , Row: '+IntToStr(ARow);
// end;
end;
Вот что у меня там стоит...
Плохиш (2010-10-02 21:30:00) [27]
> Anatoly Podgoretsky © (02.10.10 21:19) [27]
У меня закрашиваются все выделенные стандартным способом ячейки.
Ghost del vonte (2010-10-02 21:30:00) [28]
> Правильно, поскольку в этом случае, ты именно так и приказываешь
> делать.
Я уже запутался, как же тогда сделать? Приведенные здесь примеры у меня не работают, в смысле эффект один - полное закрашивание канвы компонента!
Anatoly Podgoretsky (2010-10-02 21:25:00) [29]> Ghost del vonte (02.10.2010 21:23:30) [30]
Правильно, поскольку в этом случае, ты именно так и приказываешь делать.
Anatoly Podgoretsky (2010-10-02 21:24:00) [30]> Ghost del vonte (02.10.2010 21:22:29) [29]
Их тоже надо красить в обработчике.
Ghost del vonte (2010-10-02 21:23:00) [31]
> Да и это место
> if gdSelected in State then
Когда я убираю это из кода, при восстановлении окна, окно DrawGrid закрашивается полностью...
Ghost del vonte (2010-10-02 21:22:00) [32]
> Я тебе уже сообщил, что по коду у тебя закрашивается только
> ОДНА ячейка, а
> ыт все не веришь
Почему не верю? Верю, но не знаю как сделать чтобы оставались закрашенными те, на которых рисовали!
Anatoly Podgoretsky (2010-10-02 21:21:00) [33]
> Подозреваю, что в суперпуперпроге где-то сбрасывается крютым
> кодером обработчик OnDrawCell
Да и это место
if gdSelected in State then
Anatoly Podgoretsky (2010-10-02 21:19:00) [34]> Ghost del vonte (02.10.2010 21:16:24) [24]
Я тебе уже сообщил, что по коду у тебя закрашивается только ОДНА ячейка, а
ыт все не веришь
Плохиш (2010-10-02 21:18:00) [35]Подозреваю, что в суперпуперпроге где-то сбрасывается крютым кодером обработчик OnDrawCell
Плохиш (2010-10-02 21:17:00) [36]
> У меня эффекта нет
Ничем помочь не могу.
PS. Трудно найти чёрную кошку в тёмной комнате, если её там нет.
Ghost del vonte (2010-10-02 21:16:00) [37]У меня отрисовывается только последняя закрашенная клетка...
Ghost del vonte (2010-10-02 21:13:00) [38]
> между стулом и монитором.
Очень смешно! Я серьезно! У меня эффекта нет....
Плохиш (2010-10-02 21:11:00) [39]
> Я бы врать не стал! У меня все-равно исчезает!
При использовании приведённого в этой ветки кода, все выделенные ячейки отрисовываются после востановления формы.
> Что за прокладку?
между стулом и монитором.
Ghost del vonte (2010-10-02 21:07:00) [40]
> Ничего не исчезает, смените прокладку.
Я бы врать не стал! У меня все-равно исчезает! Что за прокладку?