CSpinEdit PDF Drukuj Email
Wpisał doctor   
Poniedziałek, 12. Marzec 2007 20:38
Komponent CSpinEdit

Komponent TCspinEdit jest przydatny, gdy chcemy zwolnić użytkownika
programu od wpisywania parametrów lub gdy chcemy narzucić "na sztywno"
zakres określonego parametru.


Komponent TCspinEdit znajduje się w palecie Samlpes.
Po kolei omówię wszystkie najważniejsze właściwości tego komponentu.

CSpinEdit1->Value - typ long, a więc można wpisywać tylko liczby.
CSpinEdit1->ReadOnly - wartość boolowska. Jeśli = true to do komponentu nie można
nic wpisywać z klawiatury ani zmienić wartości klikając na strzałki - blokada komponentu.
CSpinEdit1->MaxValue - liczba określająca górny zakres.
CSpinEdit1->MinValue - liczba określająca dolny zakres.
CSpinEdit1->Increment - liczba określająca krok zwiększania/zmniejszania.
CSpinEdit1->AutoSelect - wartość logiczna określająca czy tekst w okienku
ma być automatycznie zaznaczony. Jeśli jest zaznaczony można go od razu kopiować Ctrl+C.
CSpinEdit1->EditorEnabled - czy można wprowadzać znaki z klawiatury.

Najcześciej obsługiwanymi zdarzeniami dla tego komponentu są:
OnClick - kliknięcie na strzałkę
OnChange - zmiana wartości Value



Często przydatną rzeczą staje się zabezpieczenie przed wpisywaniem liter do pola
CSpinEdit. Można to osiągnąć sprawdzając wprowadzoną liczbę w zdarzeniu OnChange i
próbie jej konwersji do postaci liczbowej. Jeśli to nie liczba to konwersja się nie powiedzie.
Poniżej działający kod:


void __fastcall TForm1::CSpinEdit1Change(TObject *Sender)
{
String wartosc = CSpinEdit1->Text;
float liczba = atof(wartosc.c_str());
Label2->Caption = FloatToStr(liczba);

if(liczba)// != 0
{
Label1->Caption = "Wpisany znak jest liczbą";
//stara_wartosc = CSpinEdit1->Text;
}
else
{
Label1->Caption = "Wpisany znak jest literą";
//CSpinEdit1->Value = poprzednia_liczba;
}
}


Do swoich celów można zmodyfokować powyższy kod wprowadzając dwie zmienne globalne
String stara_wartosc;
long poprzednia_liczba;
Gdy wpisany znak jest literą, to wartość w CSpinEdit zmieni się na ostatnią wpisaną liczbę.

Skorzystaliśmy tutaj z funkcji
float atof(char *łańcuch_znaków)
zwracającą liczbę zmiennoprzecinkową typu float w przypadku gdy konwersja się powiedzie oraz zero w przypadku gdy konwersja się nie powiedzie.
Komentarze
Dodaj nowy Szukaj
+/-
Napisz komentarz
Nick:
E-mail:
 
Strona www:
Tytuł:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Proszę wpisać kod antyspamowy widoczny na obrazku.
gosc   |87.116.242.xxx |2009-07-27 13:29:57
dzieki.pomoglo!!!
ktos   |87.116.242.xxx |2009-07-27 13:47:11
dzieki.pomoglo!!!

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

Ostatnia aktualizacja: Piątek, 10. Lipiec 2009 13:58
 
 

Losowy obraz

compilercolor.jpg

Gościmy

Naszą witrynę przegląda teraz 32 gości 




| | | |