Witam!
Da się wyśrodkowaćtekst w edicie ??
Pozdrawiam!
Jasne że sie da!
Zastosuj po prostu styl ES_CENTER przy tworzeniu edita albo po stworzeniu:
VOID CenterEditText(HWND hEdit)
{
LONG oldEditStyle;
// Pobieramy styl edita
oldEditStyle = GetWindowLong(hEdit, GWL_STYLE);
// Ustawiamy nowy styl edita z wycentrowanym tekstem
SetWindowLong(hEdit, GWL_STYLE, (LONG)(oldEditStyle | ES_CENTER));
}
Nie testowałem ale chyba działa. Pzdr. :-)
No właśnie ja nie używam VCL. Jeśli kod podany przez "mario1" nie działa to pewnie coś źle robisz, ale nie wiem co. Sprawdź czy podajesz dobre HWND rodzica Edita.. nie wiem.
A jak ten Edit jest tworzony? Dynamicznie? W edytorze zasobów?
eee to:
Hmmm. to moje "Edit1" to nazwa tego pola textowego, które chcę wyśrodkować
znaczy, że nie podajesz ID kontrolki tylko NAZWĘ?? Chociaż nie wiem czy to by przeszło..
Hmmm rysuje sobie tego edita!
I albo mam niedowład oczu albo nie widze nigdzie zadnego id ani niczego podobnego! Przeszukałem wszystkie pliki!
//---------------------------------------------------------------------------
#ifndef Ustawienia_BuforowH
#define Ustawienia_BuforowH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm3 : public TForm
{
__published: // IDE-managed Components
TEdit *Edit1;
TEdit *Edit2;
TEdit *Edit3;
TLabel *Label1;
TLabel *Label2;
TLabel *Label3;
TButton *Button1;
TButton *Button2;
TLabel *Label4;
TLabel *Label5;
TLabel *Label6;
TEdit *Edit4;
TLabel *Label7;
TLabel *Label8;
void __fastcall Edit1Change(TObject *Sender);
void __fastcall Edit2Change(TObject *Sender);
void __fastcall Edit3Change(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall Edit4Change(TObject *Sender);
void __fastcall Edit1KeyPress(TObject *Sender, char &Key);
void __fastcall FormCreate(TObject *Sender);
private: // User declarations
void __fastcall CreateParams(TCreateParams& Params); //Blokowanie zamykania okna - "krzyżykiem" i "ALT" + "F4"
public: // User declarations
__fastcall TForm3(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm3 *Form3;
//---------------------------------------------------------------------------
#endif
I dalej:
TForm3 *Form3;
//---------------------------------------------------------------------------
__fastcall TForm3::TForm3(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall Sprawdz_Edit(TEdit &Edit)
{
if(Edit.Text == "")
{
Edit.Text = 0;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Edit1KeyPress(TObject *Sender, char &Key)
{
if((Key != '9') & (Key != '8') & (Key != '7') & (Key != '6') & (Key != '5') & (Key != '4') & (Key != '3') & (Key != '2') & (Key != '1') & (Key != '0') & (Key != 8))
{
Beep();
Key = 0;
}
}
//-------------------------------------------------------------------------
void __fastcall TForm3::CreateParams(TCreateParams& Params) //Blokowanie zamykania okna - "krzyżykiem" i "ALT" + "F4"
{
TForm::CreateParams(Params);
Params.WindowClass.style |= CS_NOCLOSE;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Edit1Change(TObject *Sender)
{
Button1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Edit2Change(TObject *Sender)
{
Button1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Edit3Change(TObject *Sender)
{
Button1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Edit4Change(TObject *Sender)
{
Button1->Enabled = true;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button2Click(TObject *Sender)
{
Form1->Enabled = true;
Form3->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TForm3::Button1Click(TObject *Sender)
{
Button1->Enabled = false;
Sprawdz_Edit(*Edit1);
Sprawdz_Edit(*Edit2);
Sprawdz_Edit(*Edit3);
Sprawdz_Edit(*Edit4);
Form2->Bufor_We = StrToInt(Edit1->Text);
Form2->Bufor_Wy = StrToInt(Edit2->Text);
Form1->Timer2->Interval = StrToInt(Edit3->Text);
Form1->Timer3->Interval = StrToInt(Edit4->Text);
/*delete Form2->Bufor_Wejsciowy;
delete Form2->Bufor_Wyjsciowy;
Form2->Bufor_Wejsciowy = new char[Form2->Bufor_We];
Form2->Bufor_Wyjsciowy = new char[Form2->Bufor_Wy]; */
}
//---------------------------------------------------------------------------
Tak przy okazji to moze ktos wie jak skrocic ten warunek:
if((Key != '9') & (Key != '8') & (Key != '7') & (Key != '6') & (Key != '5') & (Key != '4') & (Key != '3') & (Key != '2') & (Key != '1') & (Key != '0') & (Key != 8))
O czym wy tu gadacie :-D Przecież idea programowania w VCL'u zupełnie różni się od programowania w czystym WinAPI [!!!] Tu nie ma zasobów takiej formie jak w plikach RC.
Prawdopodobnie będziesz musiał zrobić nową kontrolkę pochodną od TCustomEdit i z przeładowaną metodą CreateParams.
othello napisał(a)
A ja polecam TMemo z wlasciwoscia Alignment=taCenter ;)
Heh faktycznie ;-P Z drugiej strony dziwne, że dla tego wyśrodkowania textu/wielolinijkowości zrobili oddzielny komponent. W sumie mogliby to wpakować do TEdit - TMemo jest pochodną TCustomEdit.