• ベストアンサー

Delphi:コントロールの追加・削除

アプリケーション実行中にコントロールの追加はできるのでしょうか? それともビジブルをfalseにしておいて、実行中にtrueにするというのでは、どうも追いつけないので。

質問者が選んだベストアンサー

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

Button1 の Clickで Button を作るような感じ? var i : integer; procedure TForm1.Button1Click(Sender: TObject); begin  inc(i);  Randomize;  with TButton.Create(Self) do begin   Parent := Self;   Top := Random(Self.ClientHeight - TButton(Sender).Height);   Left := Random(Self.ClientWidth - TButton(Sender).Width);   Caption := '押して' + IntToStr(i);   OnClick := Button1Click;  end; end;

mario33
質問者

お礼

回答ありがとうございます。大変参考になりました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

実行中にコントロールを作成して追加することはできますよ。

mario33
質問者

お礼

回答ありがとうございます。

関連するQ&A

  • 実行時はEXCEL自体を非表示にし、印刷時はワークシートのコントロール(Microsoftバーコードコントロール9.0)を表示したい

    EXCEL2002sp3です。 実行時はEXCEL自体を非表示にし、印刷時はワークシートのコントロール(Microsoftバーコードコントロール9.0)を表示したいと思います。 Application.Visible = False 実行後、コントロールのあるワークブックをOPENすると、Application.Visible が True となりEXCELが表示されてしまいます。 バーコードのプロパティのVisibleをFalseに設定してから、実行させると、EXCELは表示されないのですが、今度はバーコードが印刷されません。この時バーコードのプロパティのPrintObjectはTrueにしています。 何か間違っているのでしょうか?

  • コントロールの表示・非表示

    C++Builder6を使用しています。 コントロールをあらかじめ配置しておき, ボタンを押すことでコントロールを表示(使用可能) したり,非表示(使用不可)にしたりしたいです。 ボタンは表示用と非表示用の2つを用意しました。 そこで コンポーネント->Visible = True; コンポーネント->Visible = False; のような記述をしました。 が,Trueにはできるのですが,Falseができません。 Show,Hideも試してみたのですが,やはりHideができません。 デフォルトはFalseの状態で見えないようにしています。 一度TrueにするとFalseにはできないのでしょうか。 アドバイスをお願いします。

  • デザイン時のVisible=Falseは実行時に変更できない?

    VB2008です。 フォームデザイン時に、コントロールのVisibleをFalseに設定していると、実行時にTrueに設定してもコントロールが見えません。(実行時エラーも出ません。) 私の環境では、ほぼすべてのコントロールが同じ挙動をします。 もちろん、デザイン時にVisibleをTrueにしておいて、実行時にコードでFalseにすると見えなくなりますし、Trueを与えてやると再度見えるようになります。 これは、言語の仕様なのでしょうか。

  • エクセルで質問です。

    エクセルで質問です。 現在マクロを使って簡単な計算表を作っているのですが、エクセルを終了する時にフォームコントロールボタンを使って終了というカタチにしています。(下記参照) Sub 終了処理() Application.DisplayFullScreen = False With ActiveWindow .DisplayHorizontalScrollBar = True .DisplayVerticalScrollBar = True .DisplayWorkbookTabs = True .DisplayGridlines = True .DisplayHeadings = True End With Toolbars(1).Visible = True Toolbars(2).Visible = True Toolbars(5).Visible = True Toolbars(7).Visible = True Toolbars(9).Visible = True Application.DisplayFormulaBar = True Application.DisplayStatusBar = True Application.DisplayAlerts = False Application.Quit End Sub ここまではうまく出来たのですが、終わるときに右上にある×ボタンを使って終わる事が出来ないようにしたい!っていうのが今回の質問です。 皆様のお力をお借りしたいと思いますので宜しくお願い致します。 ちなみに、エクセルを開いた時はフルスクリーンになるようにしています。 trueのところがfalseにしています。

  • Delphi6 Labelの表示を切り替える

    Delphi初心者です。 ファイルをコピーする処理を作っています。 ボタンをクリックしたときファイルのコピーを開始するのすが、ファイル容量が大きいので ”コピー中”というメッセージを表示しょうと思います。 Labelにメッセージを書いて、このLabelのVisibleをFalseにし、ボタンをクリックしたときにTrueにしているのですが、うまくできません。ソースの一部は以下の通りです。 Label.Visible := True; CopyFile('C:\KBISDATA.MDB','E:\KBISDATA.MDB',False); Application.MessageBox('バックアップが完了しました。','データバックアップ処理',mb_ok); exit; この方法では、コピーが終了してからLabelのVisibleがTrueになります(ラベルが表示される)。 一体何が悪いのでしょうか? また、できればコピー中はラベルを点滅できればベストなのですが・・・。 以上、よろしくお願いします。

  • 動的にコントロールを追加、削除を繰り返すと!

    動的にコントロールを追加、削除を繰り返すと! 動的にコントロールを追加削除を繰り返すと、ハンドルガ・・・とかなんかエラーが発生します。 ゆっくり操作するとさほどでもないのですが、 カチカチ、カチカチやって、処理がおっつかなく、重たくなると必ずエラーになります。 どうやって回避したらいいでしょう。 だれか、助けてー くださいまし。 ちなみに、動的に追加したコントロールはパネルに乗っけて使用し、 削除するときは、パネル.Items.Clearをしたあとに、obj=Nothingとしています。 回避出来る可能性のある案、奇策でもかまいませんので、どうか宜しくお願いします。 こちらで試してみますので、皆さんのご意見を待ちしています。

  • EXCEL の auto_open で開けない

    EXCEL の auto_open で Application.Visible = True とすべきところを 間違えて Application.Visible = False してしまいました これだと見えなくなってしまうので なんとか表示させる方法があったら教えてください

  • VB6 動的追加コントロールの値変更

    お世話になります。VB6初心者です。 動的追加コントロールの値変更で困っています。 Form3にFrame1をコントロール配列で1つ置いています。 ループ処理でFrame1をループ分LOADし、そのフレームの上にチェックボックスを動的に追加していく処理をしています。この動的に追加したチェックボックスの値の変更ができません。 ちなみに値やキャプションの取得はできます。 どなたかご教授願います。 Private Sub Command1_Click() Dim CHKbox(4) As VB.CheckBox Dim i As Integer For i = 1 To 4 Load Form3.Frame1(i) With Form3.Frame1(i) .Top = Form3.Frame1(i - 1).Top + 450 .Visible = True .Caption = "フレーム" & i End With Set CHKbox(i) = Controls.Add("VB.Checkbox", "CHKbox" & i, Form3.Frame1(i)) With CHKbox(i) .Move 2000, 200, 1300, 180 .Visible = True .Caption = "チェック" & i End With Next MsgBox CHKbox(1).Value  `値の取得は可能ですが CHKbox(1).Value = True   `値の変更ができません End Sub

  • visibleの機能について

    VBで「Label.visible」でFalseが非表示、Trueが表示だと思うのですが、Trueで非表示の場合があります。 プログラムではTrueにしたりFalseにしたりします。もしかしてvisibleの設定がおかしくなったのかなと思って実行中にvisibleの内容を表示してみてみましたが、Trueで非表示になる場合があります。必ず非表示になると言うわけではないので困っています。 原因がわかる方、もしかしてここでは?と言う方でも結構です。 宜しくお願い致します。

  • アプリケーションの追加と削除が作動しない

    WIN2000、(Service pack4)を使用しています。 使い始めて、2ヶ月立ちましたが、 今日、いらないプログラムを削除しようと、 コントロール パネル→アプリケーションの追加と削除を クリックしたところ、何の反応もありません。 (フリ-ズではなく、ボタンを押しても、いつもの画面が立ちあがってこない) ドライブのプロパディから、ディスクのクリ-ンアップを経由して、アプリケーションの追加と削除を実行しようとしても、反応がありません。 エラ-メッセ-ジなどは出てこないため、 どこが悪いのか詳しく書けませんが、 どのようにすれば、正常状態に戻せるのでしょうか? また、システムフォルダ-内に直接実行できるプログラムが入っているのでしょうか? ご協力お願いします。

専門家に質問してみよう