Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Имитация зажатия Shift


Страницы:   1 2

Max1 ©   (2009-10-27 11:34:00) 

Добрый день мастера. пишу прогу, в которой хочу програмно выделить слово в StringGride:            

             keybd_event(VK_SHIFT, 0, 0, 0);
               for ii:=1 to 10 do
                 begin
                   keybd_event(VK_RIGHT, 0, 0, 0);
                   keybd_event(VK_RIGHT, 0, KEYEVENTF_KEYUP, 0);
                 end;
               keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);

в итоге слово не выделяется, если вначале поставить параметр KEYEVENTF_EXTENDEDKEY, слово конечно выделится, но кнопка останется зажатой.


Dennis I. Komarov   (2009-10-29 08:33:00) [1]


> говорят нет, мол, пробуй закрашивать.

Не верь всему...


Viktor   (2009-10-28 16:30:00) [2]

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


Leonid Troyanovsky   (2009-10-28 16:15:00) [3]


> Viktor   (28.10.09 16:10) [34]

> То есть через InplaceEditor задавать SelStart, SelLength?

Да.
Мог и в справке прочитать.
VCL Reference: TInplaceEdit

--
Regards, LVT.


Dennis I. Komarov   (2009-10-28 16:14:00) [4]


> Viktor   (28.10.09 16:10) [34]
> То есть через InplaceEditor задавать SelStart, SelLength?
>

А я думаю, чего у нас снег пошел....


Viktor   (2009-10-28 16:10:00) [5]

То есть через InplaceEditor задавать SelStart, SelLength?


Leonid Troyanovsky   (2009-10-28 15:35:00) [6]


> Viktor   (28.10.09 14:25) [31]

> Я не сталкивался с InplaceEdit, поэтому не пойму [10]. Как
> он с гридом связан?

type THackGrid = class(TStringGrid);

THackGrid(StringGrid).InplaceEditor

Существует после ShowEditor (и после того, как грид получил парента).

--
Regards, LVT.


Amoeba   (2009-10-28 14:38:00) [7]


> Viktor   (28.10.09 14:25) [31]
>
> Я не сталкивался с InplaceEdit, поэтому не пойму [10]. Как
> он с гридом связан?
>

Смотри исходники TCustomGrid и тогда поймешь.


Viktor   (2009-10-28 14:25:00) [8]

Я не сталкивался с InplaceEdit, поэтому не пойму [10]. Как он с гридом связан?


Dennis I. Komarov   (2009-10-28 10:28:00) [9]

Да уже всем давно понятно, чего ему требуется, только автор никак [10] не усвоит...


{RASkov}   (2009-10-28 01:12:00) [10]

> [24] Viktor   (27.10.09 20:53)
> Не ну а как еще в гриде выделить слово

в гриде слова не выделяются, можно конечно в OnDraw... выделять, там вообще все что угодно можно делать...
Можно выделить слово в InplaceEdit, но тут точно не нужны ни какие эмуляции нажатия клавишь...
Хотя тут уже об этом сказано было, только до автора не доходит...

> [22] Viktor   (27.10.09 19:37)
> Вы можете нормально объяснить? 20 ответов, а тема все еще открыта.

сначало сам объясни нормально что же тебе хочется, выделить слово в гриде или в InplaceEdit'оре?


Amoeba   (2009-10-27 21:42:00) [11]

http://gunsmoker.blogspot.com/2008/10/x-y-z.html


sniknik   (2009-10-27 21:26:00) [12]

> Не ну а как еще в гриде выделить слово.
сколько раз повторить чтобы дошло? читай [10]. можешь наизусть выучить...

> Только эмуляцией нажатия клавиши, правда?
не правда!


Leonid Troyanovsky   (2009-10-27 21:22:00) [13]


> Viktor   (27.10.09 20:53) [24]


> Не ну а как еще в гриде выделить слово.

В гриде слов нет, но есть ячейки. Ячейки можно выделять.
В ячейках, возможно, есть и слова. Выделить слова можно в
TInplaceEdit, если он (грид) есть goEditing и после ShowEditor.

> нажатия клавиши, правда?

Утверждение ложное.

> А эта эмуляция глючит. Либо шифт
> не зажимается либо зажимается так, что его не отжать.

Зажимается or не зажимается - судить трудно.
Все зависит, IMHO, от крутизны линейности рук и
от ловкости пальцев.

--
Regards, LVT.


sniknik   (2009-10-27 21:22:00) [14]

> 20 ответов, а тема все еще открыта.
хочешь закрою? какие проблемы...

вообще что за идиотское поверье в инете (не раз встречаю) что тема закрывается когда решит, что решил вопрос... еще и указания модераторам дают... (типа "все решил вопрос, тему можно закрывать", это вместо того чтобы рассказать как решил, во первых другим полезно, во вторых глядишь и в этом "окончательном" решении глюки найдут...)


Viktor   (2009-10-27 20:53:00) [15]

Не ну а как еще в гриде выделить слово. Только эмуляцией нажатия клавиши, правда? А эта эмуляция глючит. Либо шифт не зажимается либо зажимается так, что его не отжать.


Leonid Troyanovsky   (2009-10-27 19:56:00) [16]


> Viktor   (27.10.09 19:37) [22]

> InplaceEdit? Вы можете нормально объяснить?

А спросить нормально можно?
Чего было непонятного в 20 постах?

--
Regards, LVT.


Viktor   (2009-10-27 19:37:00) [17]

InplaceEdit? Вы можете нормально объяснить? 20 ответов, а тема все еще открыта.


sniknik   (2009-10-27 17:05:00) [18]

> SelStart SelLength не подходит к гриду
а там и не сказано что их применяют к гриду, не выдумывай.


Dennis I. Komarov   (2009-10-27 16:59:00) [19]

Плохо...
или как там, "Больно слышать" (С) ИШ


Viktor   (2009-10-27 16:54:00) [20]

А что в [10]? Я чето не вкурил. SelStart SelLength не подходит к гриду


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо