Arsip: [?] Bagaimana Agar CheckBox Seperti RadioGroup

 
user image
more 16 years ago

babypigs

Saya ada sedikit masalah nih! Saya mempunyai 5 buah CheckBox, yang saya inginkan jika salah satu CheckBox dicheck maka yang lain diuncheck demikian seterusnya. Tapi setelah saya coba selalu saja keluar pesan salah 'Stack Overflow', saya sudah mencari berbagai artikel yang terkait di Google tetapi tidak menemukannya. Mungkin ada yang bertanya kenapa tidak menggunakan RadioGroup? Dan alasan saya karena saya tidak ingin ada bingkai. Dan mungkin juga ada yang bertanya kenapa tidak memakai RadioButton? Dan alasan saya dalam kasus ini saya mempunyai lebih dari 1 kelompok pilihan, sedangkan kalau menggunakan RadioButton dianggap sebagai 1 kelompok pilihan saja. Satu lagi saya sudah menggunakan cara if then else dan itu berhasil tapi sepertinya kurang praktis, soalnya masing2 CheckBox harus diisi dengan syntax yang berbeda-beda. Singkat kata, bagaimana cara agar fungsi CheckBox dapat seperti RadioGroup? Terimakasih sebelumnya untuk master-master Delphi di forum ini.
user image
more 16 years ago

mas_kofa


procedure TForm1.CheckBox4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do
  if (Components[i] is TCheckBox)  and (Components[i] <> sender) then
  begin
    TCheckBox(Components[i]).Checked := false;
    //showmessage(TCheckBox(Components[i]).Caption);
  end;
end;
procedure TForm1.CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TCheckBox(sender).Checked := true;
end;
bekerja  dengan baik di kompi ku...
user image
more 16 years ago

ImanD

@babypigs: Saya ada sedikit masalah nih! Saya mempunyai 5 buah CheckBox, yang saya inginkan jika salah satu CheckBox dicheck maka yang lain diuncheck demikian seterusnya.
jawabnya ada pada jawaban
@mas_kofa:

procedure TForm1.CheckBox4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do
  if (Components[i] is TCheckBox)  and (Components[i] <> sender) then
  begin
    TCheckBox(Components[i]).Checked := false;
    //showmessage(TCheckBox(Components[i]).Caption);
  end;
end;
procedure TForm1.CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TCheckBox(sender).Checked := true;
end;
bekerja  dengan baik di kompi ku...
[/quote:f0f30963d1]
@babypigs: Tapi setelah saya coba selalu saja keluar pesan salah 'Stack Overflow', saya sudah mencari berbagai artikel yang terkait di Google tetapi tidak menemukannya.
emang codingnya gimana sampe overflow begono? dan yg di cari di google emang apaan keyword nya? [quote:f0f30963d1="Q n A"] Q: Mungkin ada yang bertanya kenapa tidak menggunakan RadioGroup? Dan alasan saya karena saya tidak ingin ada bingkai. A: kan bisa pke TPanel dan set Properties BevelOuter=bvNone Q: Dan mungkin juga ada yang bertanya kenapa tidak memakai RadioButton? Dan alasan saya dalam kasus ini saya mempunyai lebih dari 1 kelompok pilihan, sedangkan kalau menggunakan RadioButton dianggap sebagai 1 kelompok pilihan saja. A: pke az TRadioButton kan kelompoknya sudah dikelompokkan di TPanel. notes A: cuman coding dari @mas_kofa ga bisa di pke u/ masalah ini perlu renovasi dikit biar bisa per-GROUP. Q: Satu lagi saya sudah menggunakan cara if then else dan itu berhasil tapi sepertinya kurang praktis, soalnya masing2 CheckBox harus diisi dengan syntax yang berbeda-beda. A: tuh yg @mas_kofa malah ga ada else sama sekali dan tidak mengcoding di setiap Checkbox lho
@babypigs: Singkat kata, bagaimana cara agar fungsi CheckBox dapat seperti RadioGroup? Terimakasih sebelumnya untuk master-master Delphi di forum ini.
jawab singkat, skr mungkin kamu sudah bisa jawab.
user image
more 16 years ago

mas_kofa

kalo mo per group tinggal chek aja parent..nya mas..... [pas] procedure TForm1.CheckBox4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var i: Integer; begin for i := 0 to ComponentCount - 1 do if (Components[i] is TCheckBox) and (Components[i] <> sender) and (Components[i].Parent = Group1) then begin TCheckBox(Components[i]).Checked := false; //showmessage(TCheckBox(Components[i]).Caption); end; end;
user image
more 16 years ago

babypigs

@mas_kofa:

procedure TForm1.CheckBox4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do
  if (Components[i] is TCheckBox)  and (Components[i] <> sender) then
  begin
    TCheckBox(Components[i]).Checked := false;
    //showmessage(TCheckBox(Components[i]).Caption);
  end;
end;
procedure TForm1.CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TCheckBox(sender).Checked := true;
end;
bekerja  dengan baik di kompi ku...
terimakasih banyak! nanti saya coba...
user image
more 16 years ago

babypigs

@mas_kofa: kalo mo per group tinggal chek aja parent..nya mas..... [pas] procedure TForm1.CheckBox4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var i: Integer; begin for i := 0 to ComponentCount - 1 do if (Components[i] is TCheckBox) and (Components[i] <> sender) and (Components[i].Parent = Group1) then begin TCheckBox(Components[i]).Checked := false; //showmessage(TCheckBox(Components[i]).Caption); end; end;
@mas_kofa saya sudah mencobanya dan berjalan dgn baik, tp sedikit bermasalah digroupnya. saya sudah coba syntax di atas tp tdk berhasil, bisa minta penjelasan bagaimana membuat groupnya tanpa menggunakan TGroupBox karena saya tidak ingin ada bingkai, terimakasih!
user image
more 16 years ago

babypigs

@ImanD:
@babypigs: Saya ada sedikit masalah nih! Saya mempunyai 5 buah CheckBox, yang saya inginkan jika salah satu CheckBox dicheck maka yang lain diuncheck demikian seterusnya.
jawabnya ada pada jawaban [quote:6ac5de21a7="mas_kofa"]

procedure TForm1.CheckBox4MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  i: Integer;
begin
  for i := 0 to ComponentCount - 1 do
  if (Components[i] is TCheckBox)  and (Components[i] <> sender) then
  begin
    TCheckBox(Components[i]).Checked := false;
    //showmessage(TCheckBox(Components[i]).Caption);
  end;
end;
procedure TForm1.CheckBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  TCheckBox(sender).Checked := true;
end;
bekerja  dengan baik di kompi ku...
[/quote:6ac5de21a7]
@babypigs: Tapi setelah saya coba selalu saja keluar pesan salah 'Stack Overflow', saya sudah mencari berbagai artikel yang terkait di Google tetapi tidak menemukannya.
emang codingnya gimana sampe overflow begono? dan yg di cari di google emang apaan keyword nya? [quote:6ac5de21a7="Q n A"] Q: Mungkin ada yang bertanya kenapa tidak menggunakan RadioGroup? Dan alasan saya karena saya tidak ingin ada bingkai. A: kan bisa pke TPanel dan set Properties BevelOuter=bvNone Q: Dan mungkin juga ada yang bertanya kenapa tidak memakai RadioButton? Dan alasan saya dalam kasus ini saya mempunyai lebih dari 1 kelompok pilihan, sedangkan kalau menggunakan RadioButton dianggap sebagai 1 kelompok pilihan saja. A: pke az TRadioButton kan kelompoknya sudah dikelompokkan di TPanel. notes A: cuman coding dari @mas_kofa ga bisa di pke u/ masalah ini perlu renovasi dikit biar bisa per-GROUP. Q: Satu lagi saya sudah menggunakan cara if then else dan itu berhasil tapi sepertinya kurang praktis, soalnya masing2 CheckBox harus diisi dengan syntax yang berbeda-beda. A: tuh yg @mas_kofa malah ga ada else sama sekali dan tidak mengcoding di setiap Checkbox lho [/quote:6ac5de21a7]
@babypigs: Singkat kata, bagaimana cara agar fungsi CheckBox dapat seperti RadioGroup? Terimakasih sebelumnya untuk master-master Delphi di forum ini.
jawab singkat, skr mungkin kamu sudah bisa jawab.
@ImanD mungkin penjelasan @ImanD bisa jadi alternatif, walaupun saya lebih suka bentuk CheckBox drpd RadioButton. Terimakasih buat penjelasannya!
user image
more 16 years ago

jrp

OOT: Jika melihat kasusnya, stack overflow yang dialami oleh babypigs mungkin karena mengubah property Checked milik TCheckBox pada event OnClick obyek itu sendiri, sehingga event tersebut terpicu tiada henti sehingga terjadi stack overflow. jrp
user image
more 16 years ago

babypigs

@jrp: OOT: Jika melihat kasusnya, stack overflow yang dialami oleh babypigs mungkin karena mengubah property Checked milik TCheckBox pada event OnClick obyek itu sendiri, sehingga event tersebut terpicu tiada henti sehingga terjadi stack overflow. jrp
benar sekali karena saya meletakan syntax pd event onclick...
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com