RICHEDITBOX

HMG en Español

Moderator: Rathinagiri

User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: RICHEDITBOX

Post by esgici »

esgici wrote: ...
Did you noticed :?:

Our genius Doctor fully rebuilded RICHEDITBOX control from scratch :o

~\SAMPLES\Controls\RichEditBox
...
Would be possible adding "Language" option to this wonderful editor :?:

With a selectable language specific virtual keyboard of course ;)

Viva HMG :D
Viva INTERNATIONAL HMG :D
User avatar
srvet_claudio
Posts: 2220
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: RICHEDITBOX

Post by srvet_claudio »

esgici wrote:
esgici wrote: ...
Did you noticed :?:

Our genius Doctor fully rebuilded RICHEDITBOX control from scratch :o

~\SAMPLES\Controls\RichEditBox
...
Would be possible adding "Language" option to this wonderful editor :?:

With a selectable language specific virtual keyboard of course ;)

Viva HMG :D
I will investigate how to do it.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
serge_girard
Posts: 3309
Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB
2 DBF
Location: Belgium
Contact:

Re: RICHEDITBOX

Post by serge_girard »

Claudio,

That would be great!

What about inserting images and conversion to HTML...?

Regards, Serge
There's nothing you can do that can't be done...
User avatar
srvet_claudio
Posts: 2220
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: RICHEDITBOX

Post 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.
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
serge_girard
Posts: 3309
Joined: Sun Nov 25, 2012 2:44 pm
DBs Used: 1 MySQL - MariaDB
2 DBF
Location: Belgium
Contact:

Re: RICHEDITBOX

Post by serge_girard »

Claudio,

Thank you in advance !

Serge
There's nothing you can do that can't be done...
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: RICHEDITBOX

Post by esgici »

serge_girard wrote:Claudio,

Thank you in advance !

Serge
+1
Viva INTERNATIONAL HMG :D
User avatar
srvet_claudio
Posts: 2220
Joined: Thu Feb 25, 2010 8:43 pm
Location: Uruguay
Contact:

Re: RICHEDITBOX

Post by srvet_claudio »

esgici wrote:
esgici wrote: ...
Did you noticed :?:

Our genius Doctor fully rebuilded RICHEDITBOX control from scratch :o

~\SAMPLES\Controls\RichEditBox
...
Would be possible adding "Language" option to this wonderful editor :?:

With a selectable language specific virtual keyboard of course ;)

Viva HMG :D
Hi Friend,
is this what you wanted ?

Code: Select all

#include "hmg.ch"

Function Main

/*
http://windows.microsoft.com/en-us/windows7/install-or-change-a-display-language
http://msdn.microsoft.com/en-us/goglobal/bb964665
http://msdn.microsoft.com/en-us/goglobal/bb964651
*/

old_cKLName := GetKeyboardLayoutName()

hkl := LoadKeyboardLayout ("0409") // see --> http://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 )
{
   // http://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
Best regards.
Dr. Claudio Soto
(from Uruguay)
http://srvet.blogspot.com
User avatar
bpd2000
Posts: 1207
Joined: Sat Sep 10, 2011 4:07 am
Location: India

Re: RICHEDITBOX

Post by bpd2000 »

srvet_claudio wrote: Hi Friend,
is this what you wanted ?
Excellent implementation
Thank you for sharing
BPD
Convert Dream into Reality through HMG
Javier Tovar
Posts: 1275
Joined: Tue Sep 03, 2013 4:22 am
Location: Tecámac, México

Re: RICHEDITBOX

Post by Javier Tovar »

srvet_claudio wrote:Hi Friend,
is this what you wanted ?
Hola Dr, Claudio Soto, me esta convenciendo de estudiar "C" no se por que pero hace maravillas!!! :D :D :D :o ;)

Saludos y Felicidades!
User avatar
esgici
Posts: 4543
Joined: Wed Jul 30, 2008 9:17 pm
DBs Used: DBF
Location: iskenderun / Turkiye
Contact:

Re: RICHEDITBOX

Post by esgici »

srvet_claudio wrote: ...
is this what you wanted ?
Frankly no :)

I did not think it would be so good :o

Perfect 8-) ( as always )

Thank you very much doc :D

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 )
{
   // http://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 Select screen shoot
UI_Lang.jpg (89.81 KiB) Viewed 3664 times
Viva INTERNATIONAL HMG :D
Post Reply