Hindre brukeren fra å velge tekst i et Memo control

innstillingen aktivert for å False har noen uønskede bivirkninger ... hindre brukeren fra å velge tekst i et Memo kontroll
Den enkleste måten ville være å sette Enabled eiendom Memo (eller Edit) kontrollen for å False slik at kontrollen ikke kan motta hendelser. Denne ulempen med denne metoden er at brukeren ikke vil være i stand til å rulle teksten og funksjonshemmede teksten ser bad.In for å hindre brukeren i å skrive i notatet, setter vi dens Skrivebeskyttet eiendom til True.To hindre brukeren fra å velge tekst med musen, genererer vi føreren av mousemove tilfelle av kontroll og skrive inn følgende kode: prosedyre TForm1.Memo1MouseMove (Sender: TObject; Shift: TShiftState, X, Y: Integer); begynne hvis ssLeft i Shift deretter Memo1.SelLength: = 0; end; For å hindre brukeren i å utføre et utvalg med tastaturet, genererer vi handlers av KeyDown og KeyUp hendelser, tildele onkeydown og OnKeyUp egenskaper til samme fremgangsmåte: prosedyre TForm1.Memo1KeyDownUp (Sender: TObject; Var Key: Word, Shift: TShiftState); begynne if (ssShift i Shift) og (Tast inn [VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, VK_PRIOR, VK_NEXT, VK_HOME, VK_END]) deretter Nøkkel: = 0; end; Du finner hele kildekoden til denne artikkelen i arkivet som følger med Pascal Nyhetsbrev # 25 Anmeldelser