Stringgrid

Тема в разделе "Delphi - FAQ", создана пользователем acorn, 23 ноя 2005.

  1. acorn

    acorn PHP Developer

    Регистрация:
    29 авг 2004
    Сообщения:
    599
    Симпатии:
    3
    На форме есть компонент StringGrid. Какое событие отвечает за щелчек на fixed?
     
  2. zubr

    zubr Гость

    OnMouseDown, OnMouseUp
     
  3. Гость

    Вообще за Click отвечает событие OnClick!
     
  4. zubr

    zubr Гость

    Для: Проходимец
    В том то и проблема, что в StringGrid при щелчке на fixed OnClick не возникает.
     
  5. Guest_xelaok_*

    Guest_xelaok_* Гость

    Можно так...

    procedure TForm.StringGridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var ACol, ARow: Integer;
    Fixed: Boolean;
    begin
    with TStringGrid(Sender) do
    begin
    MouseToCell(X, Y, ACol, ARow);
    Fixed := (ACol < FixedCols) or (ARow < FixedRows);
    end;
    end;
     
  6. Jack_A

    Jack_A Гость

    Привет всем !

    Обращался в 2 эхи этого профиля, но без результата.
    И из "гуру" ничего путного не выжал.
    В Дельфи я чайник, хотя программер давний.
    Вопрос : имеем на форме StringGrid. При запуске
    приложения левая верхняя ячейка StringGrid оказывается
    закрашенной. Когда кликаешь по ячейке, на ней появляется
    курсор, а последняя до того бывшая выделенной ячейка
    закрашивается.Как ее от этого отучить? Даже при
    заполнении ячейки из программы закрашивание не исчезает.
    Попытки переключать свойства без толку : или ничего не
    меняется, или в ячейку ничего нельзя записать.
    Попутно вопрос : как из программы, без клика мышью,
    передать фокус ввода в желаемую ячейку ? В Edit меня это
    делать научили : Edit.SetFocus.

    WBR Jack
     
  7. zubr

    zubr Гость

    В свойстве Options поставь goDrawFocusSelected в False
    СЪимитировать нажатие мыши SendMessage WM_LBUTTONDOWN WM_LBUTTONUP, где в LPARAM указать координаты нужной ячейки.
     
  8. Barmutik

    Barmutik Гость

    Присвоить значения Col and Row нужным значениям...
     
  9. 62316e

    62316e Гость

    Пример:
    Код (Text):
    //The following code selects the rectangle containing rows 1 through 4, and columns 2 and 3.

    procedure TForm1.Button1Click(Sender: TObject);
    var
    myRect: TGridRect;
    begin
    myRect.Left := 3;
    myRect.Top := 1;
    myRect.Right := 2;
    myRect.Bottom := 4;
    DrawGrid1.Selection := myRect;
    end;
     
  10. zubr

    zubr Гость

    Для: 62316e
    Этот пример позволяет только выделить нужные ячейки, но не передать фокус ввода в нужную ячейку.
     
  11. 62316e

    62316e Гость

    Ну а если SetFocus(); после Selection сделать? че не то разве? Или я не понял вопрос.
     
  12. zubr

    zubr Гость

    Для: 62316e
    В примере, что ты выложил не прокатит. Соглашусь если так сделать:
    Код (Text):
    procedure TForm1.Button1Click(Sender: TObject);
    var
    myRect: TGridRect;
    begin
    myRect.Left := 1;
    myRect.Top := 1;
    myRect.Right := 1;
    myRect.Bottom := 1;
    StringGrid1.Selection := myRect;
    StringGrid1.SetFocus;
    end;
     
  13. Jack_A

    Jack_A Гость

     
  14. Jack_A

    Jack_A Гость

    ...<отменить закраску>
    В свойстве Options поставь goDrawFocusSelected в False

    Придется, наверное, вручную :
    with TStringGrid(sender).CanvasRect do
    begin
    CurCell := TStringGrid(sender).Cells[Col,Row] :
    FontColor := clBlack ;
    Brush.Color := ClWhite
    end ;
     
  15. 62316e

    62316e Гость

    2zubr: Это было логично:) В любом случяе в хелпе все написно, включяя что надо SetFocus руками делать после Selection. (Я уже молчю что о Selection тоже в хелпе писано;))
     
  16. Nika

    Nika Гость

    Откликнитесь, плиз! У меня такая проблема: StringGrid имеет color clblack, font.color=clwhite, в run-time при выделении любой ячейки и попытке внести туда запись ячейка становится белой- в итоге не видно, что вводишь...а если сделать font.color=clblack, то после ввода не видно ничего...В общем, как от белого выделения при внесении данных избавится?
     
Загрузка...
Похожие Темы - Stringgrid
  1. GrabbeR
    Ответов:
    1
    Просмотров:
    1.149
  2. radivill
    Ответов:
    0
    Просмотров:
    1.273
  3. Smokey
    Ответов:
    1
    Просмотров:
    1.529
  4. aank10
    Ответов:
    3
    Просмотров:
    1.971
  5. Ягодка
    Ответов:
    1
    Просмотров:
    2.340

Поделиться этой страницей