Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: API
 
 автор: Силыч   (12.10.2007 в 09:54)   личное сообщение
 
 

может есть идеи у кого - как определить область смены курсора на IDC_TEXT(режим ввода текста) это когда над ячейкой таблицы или в экселе проводишь курсор мыши, то появляется этот самый IDC_TEXT. отсюда вопрос - как он знает, да, что над этой областью надо менять курсор? ну, вы наверное, в курсе, мне нужно это узнать, чтобы узнать координаты этой самой области :)

  Ответить  
 
 автор: ГлазастыйМышь   (12.10.2007 в 10:04)   личное сообщение
 
 

А в чем это? в Access, тогда мож MouseMove или KeyDown и координаты бери оттуда

  Ответить  
 
 автор: Силыч   (12.10.2007 в 11:03)   личное сообщение
 
 

VB

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

поэтому обратил внимание на то, что в области ячейки курсор меняется с крестика на IDC_TEXT. стало быть винда шлёт какието сообщения. вот бы перехватить их, определить хэндл и тогда....

  Ответить  
 
 автор: ГлазастыйМышь   (12.10.2007 в 11:16)   личное сообщение
 
 

ну не знаю
у меня была такая ситуация, нужно было отлавливать нажатие кнопки на отределенную область графика встроенного в форму.
Делал так: определил координаты границ графика, определил координаты курсора при клике. Перевел в абсолютные координаты графика, и при удовлетворении определенных условий выводил нужную форму.
Из минусов, при изменении дизайна формы нужно перепроводить привязку и не работает при необходимости ресайза (в принципе возможна доработка алгоритма, но уже геморойней)
Мож и тебе отловить координаты нужных "привязочных" элементов и от этого плясать.

  Ответить  
 
 автор: Силыч   (12.10.2007 в 11:19)   личное сообщение
 
 

ладно. буду рыть. должно быть решение. правильное.

например так можно определить область, где курсор тот, что надо :)

1.
            If hCurrentCursor = IDC_TEXT Then
                Dim r As POINTAPI, idc&
                '-- определить позицию курсора
                Call GetCursorPos(r)
                StatusBar1.Panels(1).Text = hCurrentCursor & " " & r.x & ":" & r.y
            Else
                StatusBar1.Panels(1).Text = ""
            End If


а координаты это йобласти пока не даются :/

2. или можно поступить так:
   
   - при прохождении курсора над нужной колонкой
   - имитировать dblclick на ячейке(ессно предварительно отменить прорисовку)
   - считать координаты RichEdit
   - выйти из RichEdit
   - отрисовать [ v ] квадратик комбобокса
   - если курсор пошел дальше нужной колонки - invisible квадратика комбоокса [ v ]
   - если нажали на [ v ] квадратик комбобокса - отрисовать listbox со спсиком нужным

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList