Вернуться   Ангарский форум > Форумы по интересам > Программирование


Программирование Все о программировании на различных языках

Ответ
 
Опции темы Опции просмотра
Старый 26.11.2009, 17:52   #16
Baek
Гость
 
Аватар для Baek
 
Сообщений: n/a
По умолчанию

У StringGrid'а такой возможности нет. Нужно сделать свой компонент - родитель TStringGrid.

Код:
// Grids.pas
//
// нужно переопределить метод Paint
procedure TCustomGrid.Paint;
var
  LineColor: TColor;        // отвечает за цвет сетки
  DrawInfo: TGridDrawInfo;
  Sel: TGridRect;
  UpdateRect: TRect;
  AFocRect, FocRect: TRect;
{$IF DEFINED(CLR)}
  PointsList: array of TPoint;
  StrokeList: array of DWORD;
  I: Integer;
{
    // CODE
}
if (Horz.EffectiveLineWidth > 0) or (Vert.EffectiveLineWidth > 0) then
begin
      { Draw the grid line in the four areas (fixed, fixed), (variable, fixed),
        (fixed, variable) and (variable, variable) }

      LineColor := clSilver;    // здесь устанавливаем цвет

      MaxStroke := Max(Horz.LastFullVisibleCell - LeftCol + FixedCols,
                        Vert.LastFullVisibleCell - TopRow + FixedRows) + 3;
{
    // CODE
}
end;
Вот готовый компонент:
Вложения
Тип файла: rar StringGridLC.rar (4.7 Кб, 192 просмотров)
  Ответить с цитированием
Пользователь сказал cпасибо:
DeaDSouL (28.11.2009)
Старый 25.01.2011, 18:06   #17
HuKaH
Мега Флудер
 
Аватар для HuKaH
 
Регистрация: 16.05.2008
Возраст: 31
Сообщений: 1,212
Сказал(а) спасибо: 42
Поблагодарили 90 раз(а) в 61 сообщениях
Сказал(а) Фууу!: 1
Сказали Фууу! 0 раз(а) в 0 сообщениях
HuKaH находится на распутье

Награды пользователя:

По умолчанию Re: Delphi

Вопрос:
Нужно программно нажать и не отпускать клавишу, например, A.
В интернете везде советуют что-то вроде

keybd_event(65,MapVirtualKey(65, 0),KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,1);
keybd_event(65,MapVirtualKey(65, 0),KEYEVENTF_EXTENDEDKEY,1);

или просто

keybd_event(65,0,0,0);

(65 - код клавиши А)

Но это ни в ХР ни в семёрке не работает... Т.е. клавиша-то "нажимается", но тут же отпускается. Подобный фокус работает только с shift, ctrl и другими спецклавишами.

Что делать?)

Добавлено через 4 минуты 58 секунд
Да, не нужно посылать нажатие никакому окну или что-то в этом духе. Пускай обрабатывается в активном окне. Какое окно активно - неизвестно)
__________________
You try to be cool
you look like a fool
to me
(c) Avril Lavigne
HuKaH вне форума   Ответить с цитированием
Старый 29.01.2011, 13:32   #18
HuKaH
Мега Флудер
 
Аватар для HuKaH
 
Регистрация: 16.05.2008
Возраст: 31
Сообщений: 1,212
Сказал(а) спасибо: 42
Поблагодарили 90 раз(а) в 61 сообщениях
Сказал(а) Фууу!: 1
Сказали Фууу! 0 раз(а) в 0 сообщениях
HuKaH находится на распутье

Награды пользователя:

По умолчанию Re: Delphi

Эгегей, есть кто живой?
Ещё вопрос - как нажать программно дополнительную кнопку мыши с номером 5?

Основные - просто - через mouse_event, дополнительную как?)
__________________
You try to be cool
you look like a fool
to me
(c) Avril Lavigne
HuKaH вне форума   Ответить с цитированием
Ответ
Социальные закладки
  • Отправить тему на Вконтакте Вконтакте
  • Отправить тему на Google Google
  • Отправить тему на Яndex Яndex

  • Метки
    array, code, color, delphi, keybd_event, keyeventf_extendedkey

    Опции темы
    Опции просмотра

    Ваши права в разделе
    Вы не можете создавать новые темы
    Вы не можете отвечать в темах
    Вы не можете прикреплять вложения
    Вы не можете редактировать свои сообщения

    BB коды Вкл.
    Смайлы Вкл.
    [IMG] код Вкл.
    HTML код Выкл.

    Быстрый переход


    Текущее время: 12:45. Часовой пояс GMT +9.



    Powered by vBulletin®
    Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
    Сопровождение и доработка: URAJ, Venom4eG
    При перепечатке или ретрансляции материалов нашего форума ссылка обязательна

    Яндекс.Метрика

     
    Время генерации страницы 0.10219 секунды с 21 запросами