Page 4 of 6
Re: RICHEDITBOX
Posted: Wed May 14, 2014 10:09 pm
by esgici
esgici wrote:
...
Did you noticed
Our genius Doctor fully rebuilded RICHEDITBOX control from scratch
~\SAMPLES\Controls\RichEditBox
...
Would be possible adding "Language" option to this wonderful editor
With a selectable language specific virtual keyboard of course
Viva HMG

Re: RICHEDITBOX
Posted: Thu May 15, 2014 2:51 pm
by srvet_claudio
esgici wrote:esgici wrote:
...
Did you noticed
Our genius Doctor fully rebuilded RICHEDITBOX control from scratch
~\SAMPLES\Controls\RichEditBox
...
Would be possible adding "Language" option to this wonderful editor
With a selectable language specific virtual keyboard of course
Viva HMG

I will investigate how to do it.
Re: RICHEDITBOX
Posted: Thu May 15, 2014 4:34 pm
by serge_girard
Claudio,
That would be great!
What about inserting images and conversion to HTML...?
Regards, Serge
Re: RICHEDITBOX
Posted: Thu May 15, 2014 8:17 pm
by srvet_claudio
serge_girard wrote:Claudio,
That would be great!
What about inserting images and conversion to HTML...?
Regards, Serge
I have also written as pending, is that in these last weeks I have been busy with the new version of HMG.
Re: RICHEDITBOX
Posted: Fri May 16, 2014 7:04 am
by serge_girard
Claudio,
Thank you in advance !
Serge
Re: RICHEDITBOX
Posted: Fri May 16, 2014 11:37 pm
by esgici
serge_girard wrote:Claudio,
Thank you in advance !
Serge
+1
Re: RICHEDITBOX
Posted: Sat Jun 21, 2014 10:20 pm
by srvet_claudio
esgici wrote:esgici wrote:
...
Did you noticed
Our genius Doctor fully rebuilded RICHEDITBOX control from scratch
~\SAMPLES\Controls\RichEditBox
...
Would be possible adding "Language" option to this wonderful editor
With a selectable language specific virtual keyboard of course
Viva HMG

Hi Friend,
is this what you wanted ?
Code: Select all
#include "hmg.ch"
Function Main
/*
https://windows.microsoft.com/en-us/windows7/install-or-change-a-display-language
https://msdn.microsoft.com/en-us/goglobal/bb964665
https://msdn.microsoft.com/en-us/goglobal/bb964651
*/
old_cKLName := GetKeyboardLayoutName()
hkl := LoadKeyboardLayout ("0409") // see --> https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693(v=vs.85).aspx
old_hkl := ActivateKeyboardLayout (hkl)
MsgInfo ( { old_cKLName ," - ", GetKeyboardLayoutName() } )
MsgDebug ( GetKeyboardLayoutList() )
DEFINE WINDOW Form_Main ;
AT 0,0 ;
WIDTH 640 HEIGHT 480 ;
MAIN
@ 50, 50 EDITBOX editbox_1 VALUE ""
END WINDOW
CENTER WINDOW Form_Main
ACTIVATE WINDOW Form_Main
Return Nil
#pragma BEGINDUMP
#include "SET_COMPILE_HMG_UNICODE.ch"
#include "HMG_UNICODE.h"
#include <windows.h>
#include <tchar.h>
#include "hbapi.h"
HB_FUNC ( GETKEYBOARDLAYOUTNAME )
{
TCHAR cKLID [ KL_NAMELENGTH + 1 ];
GetKeyboardLayoutName (cKLID);
HMG_retc (cKLID);
}
HB_FUNC ( ACTIVATEKEYBOARDLAYOUT )
{
HKL hkl = (HKL) HMG_parnl (1);
UINT Flags = (UINT) hb_parni (2);
HKL old_hkl = ActivateKeyboardLayout (hkl, Flags);
HMG_retnl ((LONG_PTR) old_hkl );
}
HB_FUNC ( GETKEYBOARDLAYOUTLIST )
{
int nCount = GetKeyboardLayoutList (0, NULL);
if ( nCount > 0 )
{ int i;
hb_reta (nCount);
HKL List [nCount];
GetKeyboardLayoutList (nCount, List);
for (i=0; i < nCount; i++)
HMG_storvnl ((LONG_PTR) List [i], -1, i+1);
}
}
HB_FUNC ( LOADKEYBOARDLAYOUT )
{
// https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693(v=vs.85).aspx
TCHAR *cKLID = (TCHAR*) HMG_parc (1);
UINT Flags = (UINT) hb_parni (2);
HKL hkl = LoadKeyboardLayout (cKLID, Flags);
HMG_retnl ((LONG_PTR) hkl );
}
HB_FUNC ( UNLOADKEYBOARDLAYOUT )
{
HKL hkl = (HKL) HMG_parnl (1);
hb_retl ((BOOL) UnloadKeyboardLayout (hkl));
}
#pragma ENDDUMP
Re: RICHEDITBOX
Posted: Sun Jun 22, 2014 4:31 am
by bpd2000
srvet_claudio wrote:
Hi Friend,
is this what you wanted ?
Excellent implementation
Thank you for sharing
Re: RICHEDITBOX
Posted: Sun Jun 22, 2014 4:34 pm
by Javier Tovar
Re: RICHEDITBOX
Posted: Sun Jun 22, 2014 10:48 pm
by esgici
srvet_claudio wrote:
...
is this what you wanted ?
Frankly no
I did not think it would be so good
Perfect

( as always )
Thank you very much doc
Code: Select all
#include <hmg.ch>
PROCEDURE Main
aLanguages := { { 'Arabic', 0x0401 },;
{ 'English', 0x0409 },;
{ 'French', 0x040C },;
{ 'Polish', 0x0415 },;
{ 'Portuguese', 0x0416 },;
{ 'Turkish', 0x041F },;
{ 'Persian', 0x0429 },;
{ 'Azeri', 0x042C },;
{ 'Spanish', 0x040A } }
aLangNames := {}
aLangCodes := {}
AEVAL( aLanguages, { | a1 | AADD( aLangNames, a1[ 1 ] ), AADD( aLangCodes, a1[ 2 ] ) } )
cCurr_KLName := GetKeyboardLayoutName()
nCurr_KLNo := CTON( cCurr_KLName, 16 )
nInsKLNo := ASCAN( aLangCodes, nCurr_KLNo ) // Installed KBL no
DEFINE WINDOW Form_Main ;
AT 0,0 ;
WIDTH 600 HEIGHT 480 ;
MAIN ;
TITLE "VIVA INTERNATIONAL HMG !"
ON KEY ESCAPE ACTION ThisWindow.Release
@ 50, 20 EDITBOX editbox_1 WIDTH 550 HEIGHT 350 VALUE ""
@ 20, 20 COMBOBOX cmbLangs WIDTH 550 HEIGHT 350 ITEMS aLangNames ON CHANGE ChangeUILang( This.Value ) VALUE nInsKLNo
END WINDOW
CENTER WINDOW Form_Main
ACTIVATE WINDOW Form_Main
RETURN
*-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
PROCEDURE ChangeUILang(;
nSelected )
nCurr_KLNo := aLangCodes[ nSelected ]
ActivateKeyboardLayout( nCurr_KLNo )
RETURN // ChangeUILang()
*-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.-._.
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#pragma BEGINDUMP
#include "SET_COMPILE_HMG_UNICODE.ch"
#include "HMG_UNICODE.h"
#include <windows.h>
#include <tchar.h>
#include "hbapi.h"
HB_FUNC ( GETKEYBOARDLAYOUTNAME )
{
TCHAR cKLID [ KL_NAMELENGTH + 1 ];
GetKeyboardLayoutName (cKLID);
HMG_retc (cKLID);
}
HB_FUNC ( ACTIVATEKEYBOARDLAYOUT )
{
HKL hkl = (HKL) HMG_parnl (1);
UINT Flags = (UINT) hb_parni (2);
HKL old_hkl = ActivateKeyboardLayout (hkl, Flags);
HMG_retnl ((LONG_PTR) old_hkl );
}
HB_FUNC ( GETKEYBOARDLAYOUTLIST )
{
int nCount = GetKeyboardLayoutList (0, NULL);
if ( nCount > 0 )
{ int i;
hb_reta (nCount);
HKL List [nCount];
GetKeyboardLayoutList (nCount, List);
for (i=0; i < nCount; i++)
HMG_storvnl ((LONG_PTR) List [i], -1, i+1);
}
}
HB_FUNC ( LOADKEYBOARDLAYOUT )
{
// https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693(v=vs.85).aspx
TCHAR *cKLID = (TCHAR*) HMG_parc (1);
UINT Flags = (UINT) hb_parni (2);
HKL hkl = LoadKeyboardLayout (cKLID, Flags);
HMG_retnl ((LONG_PTR) hkl );
}
HB_FUNC ( UNLOADKEYBOARDLAYOUT )
{
HKL hkl = (HKL) HMG_parnl (1);
hb_retl ((BOOL) UnloadKeyboardLayout (hkl));
}
#pragma ENDDUMP

- UI_Lang Select screen shoot
- UI_Lang.jpg (89.81 KiB) Viewed 3756 times