[C++] Positie van cursor in DBEdit

Pagina: 1
Acties:

  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Hallo,

Ik wil graag de positie van mijn cursor weten als ik iets wijzig in een DBEdit-veld.
Het is namelijk zo dat ik de eerste letter in een DBEdit-veld als hoofdletter wil hebben. Als het DBEdit-veld leeg is dan lukt me dat door te kijken naar de Length
code:
1
2
if (DBEdit1->Text.Length()==0) 
//code voor wijzigen van kleine letter in hoofdletter

, maar als ik het eerste karakter wil wijzigen werkt dit niet meer.

Hoe achterhaal ik dus op welke positie ik een wijziging aanbreng?

Alvast bedankt

Boobobob

Verwijderd

Kijk eens bij de SelStart property. Dit heeft trouwens niet veel met C++ te maken (wel met C++Builder, Delphi, Kylix en VCL).
Trouwens wel heel basic dit hoor, heb je zelf uberhaupt wel gezocht?

[ Voor 3% gewijzigd door Verwijderd op 03-11-2004 11:53 ]


  • boobobob
  • Registratie: Oktober 2004
  • Laatst online: 31-08-2021

boobobob

Dancing Goaly

Topicstarter
Verwijderd schreef op 03 november 2004 @ 11:52:
Kijk eens bij de SelStart property. Dit heeft trouwens niet veel met C++ te maken (wel met C++Builder, Delphi, Kylix en VCL).
Trouwens wel heel basic dit hoor, heb je zelf uberhaupt wel gezocht?
Tuurlijk heb ik zelf al gezocht, ik ga niet bij de eerst de beste vraag hier wachten op een antwoord, maar ik ben gewoon niet zo bekend met c++ builder, maar moet nu eenmaal dit gebruiken voor een project.

Maar in ieder geval hartstikke bedankt, zal eens kijken hoe selstart werkt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:33
Ik snap eigenlijk niet waarom je wilt weten welke letter of op welke positie je iets wijzigt...

https://fgheysels.github.io/


Verwijderd

whoami schreef op 03 november 2004 @ 15:16:
Ik snap eigenlijk niet waarom je wilt weten welke letter of op welke positie je iets wijzigt...
Dat snapte ik dus ook al niet. Is het volgende niet slimmer?
C++:
1
2
3
4
5
6
7
8
void __fastcall TForm1::Edit1Exit(TObject *Sender)
{
  if(Edit1->Text.Length()>0 && (Edit1->Text[1]>='a' && Edit1->Text[1]<='z')) {
    AnsiString s = (char)(Edit1->Text[1] - ('a'-'A'));
    s += Edit1->Text.SubString(2, Edit1->Text.Length()-1);
    Edit1->Text = s;
  }
}

Pas wel op dat je dit niet in de OnChange event doet want dan krijg je een infinate loop tenzij je de OnChange naar NULL assigned bij de wijziging en daarna weer terug zet.