Jak Programatically připojí k prvku úpravy textu

Překlady článku Překlady článku
ID článku: 109550 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Ovládací prvky aplikace založené na systému Windows často slouží k zobrazení textu. Tyto aplikace někdy potřebovat připojit text end prvku pro úpravy namísto nahrazení existující text. To lze provést v systému Windows dvěma různými způsoby:
  • Pomocí zpráv EM_SETSEL a EM_REPLACESEL.
  • Zpráva EM_SETSEL pomocí funkce schránky připojit text upravit řízení vyrovnávací paměti.

Další informace

Poznámka: Vzhledem k parametry zprávy zpráva EM_SETSEL různých mezi verze 32bitové a 16bitové verze, následující kód používá makro Win32 k určení okamžiku sestavení Pokud je to 16 nebo 32bitová aplikace.

Zpráva EM_SETSEL lze umístit vybraný rozsah textu v ovládacím prvku pro úpravy Windows. Počáteční a koncové pozice rozsahu nastaveny na stejné pozici, není provedena žádná volba a stříška mohou být umístěny na této pozici. Chcete-li umístit na konci textu v ovládacím prvku úpravy Windows stříška a nastavte fokus na ovládací prvek pro úpravy, proveďte následující:
   HWND hEdit = GetDlgItem (hDlg, ID_EDIT);
   int ndx = GetWindowTextLength (hEdit);
   SetFocus (hEdit);
   #ifdef WIN32
      SendMessage (hEdit, EM_SETSEL, (WPARAM)ndx, (LPARAM)ndx);
   #else
      SendMessage (hEdit, EM_SETSEL, 0, MAKELONG (ndx, ndx));
   #endif
po stříška je umístěn na konci ovládacího prvku pro úpravy, můžete použít EM_REPLACESEL připojit text ovládacího prvku pro úpravy. Aplikace odešle zprávu EM_REPLACESEL nahradit aktuální výběr prvku pro úpravy textu určeného parametrem lpszReplace (IParam). Protože neexistuje žádná aktuální výběr, náhradní text je vložen do aktuálního umístění stříšky. V tomto příkladu nastaví výběru na konec ovládacího prvku pro úpravy a vloží text ve vyrovnávací paměti:
   #ifdef WIN32
      SendMessage (hEdit, EM_SETSEL, (WPARAM)ndx, (LPARAM)ndx);
   #else
      SendMessage (hEdit, EM_SETSEL, 0, MAKELONG (ndx, ndx));
   #endif
      SendMessage (hEdit, EM_REPLACESEL, 0, (LPARAM) ((LPSTR) szBuffer));
				
jiným způsobem vložení textu do ovládacího prvku pro úpravy je použití schránky systému Windows. Pokud aplikace má schránky otevřít nebo najde pohodlný otevřete schránky a zkopíruje text do schránky, jej můžete do ovládacího prvku pro úpravy připojit text odeslat zprávu WM_PASTE. Data, která byla ve schránce samozřejmě budou ztraceny.

Před odesláním zprávy WM_PASTE stříška musí být umístěn na konci textu ovládacího prvku upravit pomocí zpráva EM_SETSEL. Níže je kód "pseudo" ukazuje, jak implementovat tuto metodu:
   OpenClipBoard () ;
   EmptyClipBoard() ;
   SetClipBoardData() ;

   #ifdef WIN32
      SendMessage (hEdit, EM_SETSEL, (WPARAM)ndx, (LPARAM)ndx);
   #else
      SendMessage (hEdit, EM_SETSEL, 0, MAKELONG (ndx, ndx));
   #endif
      SendMessage (hEdit, WM_PASTE,   0, 0L);
				
tento kód "pseudo" připojí konec ovládacího prvku pro úpravy textu. Všimněte si, že data ve schránce musí být ve formátu CF_TEXT.

Vlastnosti

ID článku: 109550 - Poslední aktualizace: 11. července 2005 - Revize: 1.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Platform Software Development Kit-January 2000 Edition
  • Microsoft Windows Software Development Kit 3.1
Klíčová slova: 
kbmt kbctrl kbeditctrl kbhowto KB109550 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:109550

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com