|
|
|
Class
|
|||
|---|---|---|---|
|
#18+
Как внутри класса можно прописать строку деуствия: щелчок произошел на форме, а не в классе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 20:17:46 |
|
||
|
Class
|
|||
|---|---|---|---|
|
#18+
Hi Недоходящий! 1) Так делать обычно НЕ следует. Всё-же смысл класса - в том что он самодостаточен. Обычно в таком случае организуют обратную связь - т.е. ФОРМА может дёргать какой-то метод расположенного на ей объекта (если таковой метод есть конечно) при наступлении определённого события - например клик мышой... 2) В VFP8 и старше - через BindEvents(), до того - через механизм хуков. Простейший хук - как пример тебе - делали для отлова _SCREEN.Resize. Поищи и всё найдёшь (если тут поиск не фурычит - ищи на forum.foxclub.ru) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 00:32:50 |
|
||
|
Class
|
|||
|---|---|---|---|
|
#18+
Пожалуйста помогите. Незнаю что делать. Проблема у меня такова: класс над которым я мучаюсь - другого вида ComboBox. В нем при ввод происходит инкрементарный поиск. Появляется лист с строками начинающиеся на букву А (допустим). У меня в коде прописано так THIS.mInitList() && создание листбокса через CreateObject THIS.oText.SetFocus() && передача назад фокуса на текствокс для продолжения ввода остальных букв THIS.value=THIS.oText.value THIS.oWin.oList.MouseEnter() && для вносения в текстбокс значения если кликнуть по списку. Если этой строки не будет клик на листе не работает. Проблема такова, что после этого кода если я кликаю за листом на форме, лист не исчезает!!!. Что мне делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 11:49:05 |
|
||
|
Class
|
|||
|---|---|---|---|
|
#18+
Я обнаружил у себя сейчас, что, сначала создается форма, в нее добавляется листбокс, потом фокус падает на текстбокс. Так вот, если по созданной форме после всего это щелкать или что-то еще делать, то она исчезает, но если с ней ничего неделать и оставить как есть, НО если щелкать мышью кде-то в другом месте, она не исчезает. Что мне делать? Вот код класса: DEFINE CLASS oFormList AS FORM AlwaysOnTop=.T. BorderStyle=1 Caption="" Desktop=.T. TitleBar=0 ShowWindow=2 ShowInTaskBar=.F. oParent=.NULL. lClick=.F. ADD OBJECT oList AS ListBox ; WITH ; Top=0, ; Left=0, ; BoundTo=.T., ; BorderColor=RGB(255,255,255), ; Sorted=.T., ; ItemTips=.T., ; SpecialEffect=1 ********************* PROCEDURE Release() RELEASE WINDOWS (THIS.Name) endPROC ********************* PROCEDURE QueryunLoad() THIS.oParent.lRelease=.F. endPROC ********************* PROCEDURE Resize() THIS.oList.Height=THIS.Height THIS.oList.Width=THIS.Width endPROC ********************* PROCEDURE Top_assign() LParameter lnNewTop LOCAL lnSysmetric lnSysmetric=lnNewTop+THIS.Height IF lnSysmetric>SYSMETRIC(22) lnNewTop=lnNewTop-THIS.oParent.Height-THIS.Height-4 endIF THIS.Top=lnNewTop endPROC ********************* PROCEDURE oList.MouseEnter() LPARAMETERS nButton, nShift, nXCoord, nYCoord THISFORM.oParent.lRelease=.T. THISFORM.lClick=.F. endPROC PROCEDURE oList.MouseLeave() LPARAMETERS nButton, nShift, nXCoord, nYCoord THISFORM.oParent.lRelease=.F. THISFORM.lClick=.T. endPROC ********************* PROCEDURE oList.SetFocus() THISFORM.oParent.lRelease=.T. THISFORM.lClick=.T. endPROC ********************* PROCEDURE oList.LostFocus() THISFORM.Release() endPROC ********************* PROCEDURE oList.Click() IF NOT THISFORM.lClick LOCAL lcRowSource lcRowSource=THIS.RowSource THISFORM.oParent.oText.Value=&lcRowSource THISFORM.Release() ** KEYBOARD '{TAB}' ** endIF endPROC ********************* PROCEDURE oList.KeyPress() LPARAMETERS nKeyCode, nShiftAltCtrl THISFORM.lClick=.T. IF nKeyCode=13 OR nKeyCode=27 THISFORM.lClick=.F. THIS.Click() IF nKeyCode=27 THISFORM.oParent.oText.value="" THISFORM.oParent.oclick.visible=.t. endif endIF endPROC ***************************************************** endDEFINE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 17:00:35 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33242999&tid=1593578]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
193ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 509ms |

| 0 / 0 |
