Автор | Сообщение |
|
| |
Пост N: 223
Зарегистрирован: 12.11.06
|
|
Отправлено: 25.04.12 12:37. Заголовок: Форма курсора в режиме вставки и замены?
Добрый день! Извините, если плохо искал... В досовом приложении разные курсоры в полях экранных форм, зависящие от режима вставки или замены. Для консольного на xHarbour они одинаковы... пробовал играться со шрифтами, но... Подскажите пожалуйста, как задать режим, что бы форма курсора менялась?
|
|
|
Ответов - 22
, стр:
1
2
All
[только новые]
|
|
|
| |
Пост N: 178
Зарегистрирован: 03.12.08
|
|
Отправлено: 17.10.14 14:45. Заголовок: Да , GETBOX - действ..
Да , GETBOX - действительно меняет форму ... А что делать с EDITBOX ? Их у меня гораздо больше ..... девочки-операторши сильно на это ругаются ... :(
|
|
|
|
| moderator
|
Пост N: 672
Зарегистрирован: 11.02.10
|
|
Отправлено: 17.10.14 16:03. Заголовок: Softlog86 пишет: чт..
Softlog86 пишет: См. пример ниже Скрытый текст
/* * MINIGUI - Harbour Win32 GUI library Demo * */ #include "minigui.ch" FUNCTION Main DEFINE WINDOW Form_1 ; AT 0, 0 ; WIDTH 640 HEIGHT 480 ; TITLE 'Harbour MiniGUI Demo' ; ICON 'demo.ico' ; MAIN ; ON INIT ( Form_1.Edit_1.Value := 'demo' ) ; FONT 'Arial' SIZE 10 DEFINE STATUSBAR STATUSITEM 'HMG Power Ready!' END STATUSBAR @ 30, 10 EDITBOX Edit_1 ; WIDTH 410 ; HEIGHT 140 ; VALUE '' ; TOOLTIP 'EditBox' ; MAXLENGTH 255 ; ON CHANGE ShowRowCol() NOHSCROLL DEFINE BUTTON B ROW 250 COL 10 CAPTION 'Set CaretPos' ACTION ( Form_1.Edit_1.CaretPos := Val( InputBox( 'Set Caret Position', '' ) ), Form_1.Edit_1.SetFocus ) END BUTTON DEFINE TIMER Timer_1 INTERVAL 100 ACTION ShowRowCol() ON KEY INSERT ACTION ( iif( _HMG_IsXPorLater, KeyToggleNT( VK_INSERT ), KeyToggle( VK_INSERT ) ), _SetEditBoxCaret( getcontrolhandle('Edit_1','Form_1') ) ) END WINDOW Form_1.Center() Form_1.Activate() RETURN NIL PROCEDURE ShowRowCol LOCAL s, c, i, e, q s := Form_1.Edit_1.Value c := Form_1.Edit_1.CaretPos e := 0 q := 0 FOR i := 1 TO c IF SubStr ( s, i, 1 ) == Chr( 13 ) e++ q := 0 ELSE q++ ENDIF NEXT i Form_1.StatusBar.Item( 1 ) := 'Row: ' + hb_ntos( e + 1 ) + ' Col: ' + hb_ntos( q ) IF e < 7 Form_1.Edit_1.Refresh ENDIF RETURN STATIC PROCEDURE _SetEditBoxCaret( hWnd ) LOCAL hDC := GetDC( hWnd ) LOCAL aTM := GetTextMetric( hDC ) ReleaseDC( hWnd, hDC ) HideCaret( hWnd ) DestroyCaret() CreateCaret( hWnd, 0, iif( IsInsertActive(), 2, 6 ), aTM[ 1 ] - 1 ) ShowCaret( hWnd ) RETURN
|
|
|
|
Ответов - 22
, стр:
1
2
All
[только новые]
|
|