• 締切済み

windows電卓の作成 --- 画面デザイン

学校の課題で、VBでwindowsに内蔵されているのと同じ普通電卓を作ろうとしています。 今プログラム自体というよりは画面設計のことで悩んでいまして・・・。 デザインを出来るだけ同じにしたいのですが、windowsAPIなどは使用せず、全くのVBだけで作ろうと思っています。 使用しているソフトはうろ覚えで、かつ私自身が初心者の為、よく分からないのですが、VB.netだったと思います。(link labelなど多種のツールがあり、またボタンやラベルはcaption表記ではなく、text表記でした) 悩んでいることは、普通にボタンを設置したただけでは四角くなってしまい、windowsに内蔵されている電卓とは全く違うデザインになってしまうということです。 windowsの電卓のデザインに近づけるにはどうすれば良いでしょうか? 僅かな情報でもお待ちしております。 宜しくお願いします。

みんなの回答

  • a-k-a
  • ベストアンサー率23% (55/231)
回答No.3

VB.NETのバージョンはどうなっているでしょうか? ボタンを丸みを帯びたものにしたいのかと思うのですが、 VB.NET 2005 というバージョンではデフォルトでこのボタンになります。 あるいは ・メニュー「プロジェクト」-「プロパティ」-「アプリケーション」タブを選択します。 ・「アプリケーションフレームワークを有効にする」にチェック。 ・「Windowsアプリケーションフレームワークプロパティ」の「XP Visual スタイルを有効にする」にチェックを入れ、有効に。 にすると使えます。 もっと古いバージョンの場合は ・ボタンなどのプロパティ欄を「System」に変更 ・下記の内容のテキストファイル(文字コードはUTF-8)を作り、ファイル名を「(EXEファイルのファイル名).manifest」(例「sample.exe.manifest」)としてEXEファイルのフォルダに保存。 注)下記の「name="sample.exe"」の「sample.exe」のところをEXEファイルのファイル名に変えてください。 ・あとは実行するだけ ------------ 保存するファイル  --------------- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="sample.exe" type="win32" /> <description>Description</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly>

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> VBでwindowsに内蔵されているのと同じ普通電卓を作ろうとしています。 > VB.netだったと思います。 > 普通にボタンを設置したただけでは四角くなってしまい、 > windowsに内蔵されている電卓とは全く違うデザインになってしまうということです。 Windowsの電卓のボタンも「四角」では???? ひょっとして、Windowsのテーマが違う別のPCでの見栄えを比較しているなんて事は無いですよね? #Windowsの標準の「ボタン」は「WindowsXPスタイル」だと #「丸みを帯びた四角」に自動的に変更されますが・・・

  • nac03056
  • ベストアンサー率48% (203/419)
回答No.1

ボタンの画像を作成してピクチャとして表示してはどうですか? クリックしたときに押した絵に差し替えて、離したときに元に戻せばかなりリアルなものが出来ると思いますけど。

関連するQ&A

  • VBAでコントロール配列を持つことは可能ですか?

    Excel2002、OSはXPです。 VBではコントロールに配列を持つことが出来ましたが、 VBAでコントロール配列を持つことは可能でしょうか? やりたいことはユーザーフォームにラベルを100個ぐらい貼り付けて、 テキストボックス入力した値がCell(i,1)と等しければ、 i番目のラベルのCaptionに文字を入力したい。という感じです。 もしVBのようにコントロール配列を持てれば、 If TextBox1.text=Cells(i,1) Then Label(i).Caption="~~" という風に出来るのですが、どうも配列の設定がVBのようにできません。 プロパティにINDEXが無いですし、オブジェクト名を同じにしたら エラーとなってしまいますし。。 もし出来ないのであれば、何か回避策のようなものはないでしょうか? 力技で100個IFを書けば出来ることは出来るのですが・・ If TextBox1.text=Cells(i,1) Then If i = 1 Then Label1.Caption="~~" ElseIf i=2 then Label2.Caption="~~" ・・・・

  • 電卓が消えたのですが修正したいのです。

    こんにちわ WINDOWS98(SE)を使用しています。 いつのまにか スタートボタンのアクセサリーの中の電卓をみると エクスプローラーが開いてしまうのです。 電卓に戻す簡単な方法ってあるのでしょうか? わかる方がいましたらぜひ教えてください。

  • 型変換処理とラベル

    VB初心者です。何卒お助けください。 VB6.0であるアプリケーションを開発しています。 下記のソースで文字列で取得したparmを 数値に変換し、36文字以下か以上の比較をして 36文字なら以下ならLabel1(0).Captionにそのまま 入力。36文字以上ならLabel1(1).Captionに表記して Label1(0).Captionにその後続く文字列をいれたいのですが どのようなコードを書けばよいでしょうか? 何卒宜しくお願い致します。 Private Sub xxx(parm As String) XXNO$ = parm    If Label1(0).Caption = "" Then Label1(0).Caption = XXNO$ If XXNO$ = 36 Then Text1(0).Text = XXNO$ Else For iii = 4 To 1 Step -1  Label1(iii).Caption = Label1(iii - 1).Caption Text1(iii).Text = Text1(iii - 1).Text Next iii Label1(0).Caption = XXNO$ Text1(0).Text = XXNO$ End If

  • Labelコントロールで"&"が"_"に変換される

    こんにちは。 いつもお世話になっております。 早速ですが質問させて下さい。 内容はタイトル通りなのですが、 Labelコントロールのキャプションに"&"をセットすると "_"に置き換わってしまいます。 --------------------------------------------- Private Sub Command1_Click() Label1.Caption = "test & test" Debug.Print "test & test" Debug.Print Label1.Caption   End Sub --------------------------------------------- 上記でフォームのラベルには"test _test"と表示されてしまいます。 Debug.Printを使用した結果は"test & test"と表示されるのですが。 原因をご存知の方がみえましたらご教示下さい。 <環境> Windows 2000 , VB6.0

  • エクセルVBAラベルの変数?

    エクセル2000VBAにて下記のように作成しました。 With ActiveSheet For i = 4 To 200 If Label1.Caption = .Cells(i, 1) Then For h = 4 To 34 If Label25.Caption = .Cells(2, h) Then For idx = i To 200 If .Cells(idx, 3) = Label21.Caption Then Label6.Caption = .Cells(idx, h) Label7.Caption = .Cells(idx + 2, h) GoTo ラベル2 End If Next idx End If Next h End If Next i ラベル2: For i = 4 To 200 If Label2.Caption = .Cells(i, 1) Then For h = 4 To 34 If Label25.Caption = .Cells(2, h) Then For idx = i To 200 If .Cells(idx, 3) = Label21.Caption Then Label8.Caption = .Cells(idx, h) Label9.Caption = .Cells(idx + 2, h) GoTo ラベル3 End If Next idx End If Next h End If Next i ラベル3: ・・・ End With Label1~5まで同じ処理を行うため 1~5まで変数を使用して簡単にしたいのですが Label(変数)の書き込み方がわかりません? 検索を使用しましたが検索項目が悪いのか なかなか解決しません。 何方か教えていただけないでしょうか?

  • ボタンを押すとラベルの文字をかえるには

    VB2008エクスプレスを使っています 初歩的な質問なんですが フォームにボタンとラベルを貼って ボタンを押すとラベルの文字が変わるように設定したいです buttun1クラスで clickメドットで Label1.Text = Label.text("") で("")内に文字を入力したんですが エラーになってしまします

  • 電卓のディスプレイ部分に適したコントロールについて

    フォームアプリケーションで簡易電卓を作っています。 計算するための処理は理解できたのですが、 電卓のディスプレイ部分(??コントロール)に上手く表示させることが出来ません。 本物の電卓のように、フォーム上にある数字のボタンを押した瞬間に、その数字がディスプレイ部分のコントロールに右詰めで表示にしたいのですがどうしたらよいのでしょうか? 例えば、123 ( ひゃくにじゅうさん )を入力するとき、(1)ボタン、(2)ボタン、(3)ボタンを連続でクリックしますが、この時、ディスプレイ部分の右側に、 123 と表示させたいのですが、 実際、自分でチャレンジしたものは、 3 ※ ↑ 1と2が上書きされて、3だけが表示されたり、( label、textBox、richtetextBox使用時 ) 1 2 3 ※ ↑数字が改行され表示されてしまったりします。(listBox使用時) ディスプレイ部分をlistBox、textBox、richtextBox、labelにしてみましたが、どれも失敗しています。 それぞれのプロパティをいじってみたのですが駄目でした。 入力した数字がディスプレイ部分の右側に表示されるだけで、label、textBox、richtextBox、は上書きされ、listBoxは改行されたような表示になってしまいます。 もしかしてこれらはプロパティでの設定では不可能で、それ用のコードを記述する必要があるのかなとも思ったりしていますが、そのコードも検索できずにいるので質問させていただきました。 入力した数字が、上書きされたり改行されたりしないような、コントロールはあるのでしょうか? 知っている方是非アドバイスを頂きたいです。 どうぞよろしくお願いします。 ●使用環境は、以下の通りです。 visualC++ 2010 express .netframework フォームアプリケーション

  • [delphi] 変数を利用してコンポーネント名指定したいのですが、可能でしょうか?

    表題の件、どなたか教えてください。 「可能」か「不可能」かの情報や代替案でもありがたいです。 ※delphi6 enterprise版を使用しています。 質問 コンポーネント名の指定に変数は使えるのでしょうか? 例えば、labelコンポーネントを複数設置しそのlabel名の末尾を数字にする(label1,2,3・・・)。何かの処理の際に、for文で変数を送り(i=1,2,3・・・)、label名+変数.captionなどという形で指定することはできるでしょうか? 例 ラベル名 label1 label2 label3 を設置 ボタンクリック時などに、 var i : integer; for i := 1 to 3 do begin   label(i).caption := inttostr(i) ; end; よろしくお願いします。

  • textbox.textやlabel.captionの型変換について

    VB6.0を使用しています。 テキストボックスやラベルに値として数字を入れているのですが、これらの値に数字で加算減算する場合・・・ ●宣言部でintegerを宣言する又は、 ●string型で宣言してからプロシージャ内でCint(textbox.text)やCint(label.caption)のように変換するのとどう違うのでしょうか?

  • 電卓のようなマクロボタンの作り方

    Excel2000を使用しています。 フォームからマクロボタンを作るのはできるのですが、電卓ソフトみたいに、Excelの上で別ウィンドウみたいなものが出て、そこに10個ぐらいのボタンを配置させたいのですが、作り方がわかりません。 作成手順を教えてください。宜しくお願いします!

専門家に質問してみよう