Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > DBGrid и добавление информации


Автор: Самурай 29.10.2005, 09:58
Я делаю так:

Код

       SendMessage(Wnd, WM_KEYDOWN, VK_DOWN, 0);
       SendMessage(Wnd, WM_SETFOCUS, 0, 0);
       s:='test';
       for i:=1 to Length(s) do
        SendMessage(Wnd, WM_CHAR, word(s[i]), 0);
       SendMessage(Wnd, WM_KEYDOWN, VK_ACCEPT, 0);
       Application.ProcessMessages;
       SendMessage(Wnd, WM_KEYDOWN, VK_UP, 0);
       SendMessage(Wnd, WM_KEYDOWN, VK_DOWN, 0);


Может есть способ лучше? И вообще, как лучше перейти на последнюю запись, т. е добавление чтобы происходило именно в самый конец таблицы?

Автор: Самурай 29.10.2005, 10:15
Код

       SendMessage(Wnd, WM_SETFOCUS, 0, 0);
       SendMessage(Wnd, WM_KEYDOWN, VK_NEXT, 0);
       SendMessage(Wnd, WM_KEYDOWN, VK_DOWN, 0);
       s:='test1';
       for i:=1 to Length(s) do
        SendMessage(Wnd, WM_CHAR, word(s[i]), 0);
       SendMessage(Wnd, WM_KEYDOWN, VK_ACCEPT, 0);
       Application.ProcessMessages;
       SendMessage(Wnd, WM_KEYDOWN, VK_RIGHT, 0);
       s:='test1';
       for i:=1 to Length(s) do
        SendMessage(Wnd, WM_CHAR, word(s[i]), 0);
       SendMessage(Wnd, WM_KEYDOWN, VK_ACCEPT, 0);
       Application.ProcessMessages;
       SendMessage(Wnd, WM_KEYDOWN, VK_UP, 0);
       SendMessage(Wnd, WM_KEYDOWN, VK_DOWN, 0);


Это - добавление в таблицу с двумя колонками.

Мне не нравится строка SendMessage(Wnd, WM_KEYDOWN, VK_NEXT, 0);, которую нужно еще в цикл пихать, который не известно сколько раз придется проделывать, чтобы попасть на конец таблички... smile

Автор: _hunter 31.10.2005, 12:50
странный код. проще добавить данные к DataSource-у этой сетки...

Автор: Самурай 31.10.2005, 19:18
Цитата(_hunter @ 31.10.2005, 13:50)
странный код.

Я имитировал все свои действия, когда заношу новые данные в табицу.


Цитата(_hunter @ 31.10.2005, 13:50)
проще добавить данные к DataSource-у этой сетки...

smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)