• ベストアンサー

Delphi 6 について

現在、Delphi 6 を使ってプログラミングの 勉強をしているものです。 いろいろなサイトを回ってみたんですが、どうにも 分からないので質問をしました。 Delphiでフォーム上にボタンとかオプションボタンなどを 配置して作っていますが、そのデザイン?が Win98風の灰色のペタンコボタンなので、 WinXP風の綺麗なボタン(触れたら光る奴)の デザインに変えたいんですが、可能でしょうか? もしできるとしたら、どのようにすればいいのでしょうか? また、別の開発環境で出来る、という場合はその環境を 教えていただきたいです。 Delphiにした理由は、無料で使えて、かつランタイムがいらない (exe単体、または複数のDLLを用意するだけで配布可能) うえに、プログラミング入門には分かりやすいと思ったからです。

  • repop
  • お礼率90% (19/21)

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

  • ベストアンサー
noname#58606
noname#58606
回答No.2

君はえらい!! Delphiは、簡単で、楽しいですよー。 ランタイムがいらないって事は、チャットやメッセンジャーで、渡せて、即使ってもらうことができる。 ただ、本がマイクロソフト産の言語より、本が恐ろしく少ない点は、入門言語ではないような。 それ以外は、大本が教育用に作られたPascalなので、しっかりとしていて、なおかつ、難しくない言語だと、思います。 ネットで探せば、いろいろと資料もあるので、簡単なツールなら、1時間もあれば、作成可能。 残念ながら、もう少しでここをやめようと思っているけど、それまでは、できる限り、回答しよう。 ただ、お使いのOSは、なんでしょう? OSがXPじゃなかったら、難しいというか、面倒なような、できるか分からないような。 実は、私はW2KでDelphiを使っているので、XPの事は分からないのと、ビジュアル的な物より、機能性優先なので、気にしたことがなかったのですが。 Delphi6用XPビジュアルスタイル対応コンポーネント http://rd.vector.co.jp/soft/win95/prog/se219006.html ってのは、あるんだけど、これってたぶん、XPで動作させた時に、XPのスタイルにするものだと思う。 そうなるとWinXP以前のOSで、XP風のアプリを作るとするのは・・・。 Win32APIでいけるのかな? Win32APIは、Delphiではなく、Winのシステムを操作したり、いじれるもの。 http://ja.wikipedia.org/wiki/Windows_API もともとXP以前の物ではXPの物がないので、XP風のものを、くっつけるしかないのでは?と、。 で、お使いのOSは、どうなんでしょうか?と。

repop
質問者

お礼

無事に出来ました! また、色々とチャレンジしてみようと思います。

repop
質問者

補足

回答、それにお褒めの言葉まで、ありがとうございます! 使用OSをそういえば忘れていましたね; WinXPなので、紹介して頂いたURLで出来そうです! No.1の回答者さんのXPManifestでも色々検索をして、 色々調べていました。 まだ試してない部分もありますが、無事に出来そうです。 詳しい説明、どうもありがとうございます!

その他の回答 (2)

noname#58606
noname#58606
回答No.3

補足かー。 最後に、全員に、お礼をつけてくれるパターンなのかもしれませんが・・。 私は、ほぼ、お礼目当ての、偏屈者なので。 ちと、補足。 私が、OSがXP以前を疑ったので、Delphi6なんですよ。 Delphi2006もフリーで使えますよ。 こちらの方が、コードエディターが少し優秀で、たぶんXPのスタイルにも対応しているかと。(XPのスタイルを気にしたことがないので、分かりませんが。 まぁ、Delphi2006は、ちとインストール手順が複雑だったり、起動が重かったり、コンポーネントの種類も違いがあるのかな? たしか、新たにコンポーネントはインストールできなかったような。 インストールの詳しいHPも、まだあると思います。 あえて、Delphi6を選んだのなら、別にいいのですが。では。 まぁ、直接の質問・回答では、ないし、こちら側のかってな回答なんですけどね。

repop
質問者

お礼

おっしゃる通りです・・・ とりあえず、XPスタイルについては、 無事に成功できたので、嬉しい限りです。 それでは、最後まで、ありがとうございました!

  • fifaile
  • ベストアンサー率25% (622/2403)
回答No.1

あれはXPManifestというものを使います。 少し調べてみてください。

repop
質問者

お礼

マニフェストについて色々調べてみましたが、 その他にも色々なことが分かりました。 助言、ありがとうございました!

関連するQ&A

  • Visual Basic系か、delphiか(他.)で迷っています。

     できるだけ多くの環境で使える事を目標にJAVAを選んだのですが、JAVA仮想マシンがないと動かないという事に今更ながらに気がつきました。 できるだけ多くの環境で動いてもらいたいのですが、配布してすぐに気軽に(インストールして)動いてもらいたいので、JAVAとは考えが違う事が分かりました。 OSのシェアからみると9割がwinですし、win限定でもJAVAよりは配布後すぐに気軽に動かせると思います。  そこでVisual Basic系かdelphiか(もしかしたら他の言語)で迷っています。 作りたいソフトは、細かなソフトからチャットソフトなのですが、どちらの言語がいいのでしょうか?  それぞれ不安な点があります。 ■Visual Basic系だと、dllを別途入れる必要がある。 私が希望する気軽にインストールして使えるに、反しています。書籍の多さやマイクロソフトがらみは利点。 ■delphiは、書籍が少ない事。 ランタイムdllがいらない(?)。データーベースとの親和性が魅力に感じています。  将来性を考えればVisual Basicなのですが、割と少数派がすきなので、気持ち的にはdelphiに傾いています。 どちらがいいのでしょうか? ■一応使えるレベルの言語は、Perl、PHP、JAVA(初心者用の本レベル)。 ■希望としては、配布したらすぐに使え、あまり外部ランタイム等は使わない。気軽に多くの人が使える。 ■目標としては、身の回りの細かいソフト、データーベース、統計の数学的な処理、最終的にチャットソフトです。 どちらの言語でも可能だと思うのですが、経験者のご意見をお聞かせください。

  • C#で作成したDLLをDelphiで呼ぶ方法

    プログラミング初心者です。 以下の内容について、どなたか教えてください。 Visual studio 2010(C#のフォームアプリケーション)とCOM(ActiveX Tool bar)で作成されたフォームをDelphiで呼び出すことは可能でしょうか。 上記の内容を試験的に作成し(Visual studio 2010C#のフォームにCOMから参照したToolbarを貼り付けた物)、プロジェクトの出力方式をクラスライブラリに変更して、DLLの作成までは行えました。しかし、その先のDelphiからの呼び出し方がわかりません。 上記のDLLを用いてDelphiから呼び出す方法をご存知の方がいれば、教えてください。 なお現在の開発環境は以下の通りです。 Visual Studio 2010(C#) Delphi XE2(Trial) ご教授のほど、よろしくお願い致します。

  • VB6のランタイムについて

    VB6のランタイム配布について質問があります。 下記コントロール、またはDLLをVB6ランタイムが入っていない環境にインストールしようとした場合、ランタイム配布は必要でしょうか? 1.ActiveXコントロール(いわゆるユーザコントロール) 2.ActiveX.DLL(当DLLはCからCALLします)

  • Delphi のフォーム操作について

    Delphi のフォーム操作について 初めて質問させてもらいます。 Delphiで、ファイルをコピーしレジストリに登録したりするソフトウェアのインストーラーのようなもの、たとえばInstallShieldのようなものを作りたいと思ったのですが、 ”次へ”ボタンを押したときにウィンドウは消えず位置も変えないで 線の上側のインストール先を選択させる画面から”現在コピーしています...”のような画面に移り変わるようにするにはどうすればいいのでしょうか。 Button1を ”次へ”ボタン としたとき procedure TForm1.Button1Click(Sender: TObject); begin form1.Destroy; begin Form2.Show; end; end; という書き方をすれば似たようなことができますが、いわゆるInstallShieldのようにはなりません。 どのように表示させればこの場合はベストなのでしょうか。 2ヶ月ほど前から少しVB.NETをいじり、最近Delphiをはじめ、 いろいろ検索してみて http://www2.big.or.jp/~osamu/Delphi/Tips/key.cgi?key=14#0295.txt こちらの記事を見つけ、参考にしましたが使いこなせませんでした。 VB.NETでも同じようなことを試みましたが、参考記事が見つからず 上で書いたような表示方法をしない形で書きました。 環境は Turbo Delphiを使用しています。 どうかご教示ください。

  • Delphi6でVB.NETで作成のDLL呼出

    VisualSutudio2005で作成され提供されているDLLをDelphi6から呼びだしたいと思っています。 提供ファイルとしてあるのは以下のものです。 ・DLLファイル本体 ・XMLファイル 直接は呼びだせない(?)と思ったので、 VB.NETでDLLを作って間に入れて、 下のように呼び出せばいいのかなと考えています。 Delphi6で作成のEXE → VB.NETで作成のDLL(COM登録?) → 対象のDLL まずはDelphi6のEXE→VB.NETのDLLの部分を作って試してみたですが Delphi6のEXEの起動時にエラーとなってしまいます。 「アプリケーションの初期化に失敗しました」 ネットなどで調べてみて作り方は下記のようにしました。 <呼ばれる側:VB.NETのDLL> 1.COMクラスを作る。   ・COM参照可能の設定にした。 (タイプライブラリが作成され、レジストリへのCOM登録は自動でされる?) 2.作成したDLLはCドライブ直下に置いた。 ※下の*****は自動作成された固定値が入っています。  また見やすくするためここでは半角空白を全角空白に変えています。 -------------------------------------------------------------------- Imports System.Windows.Forms <ComClass(Middle_Dll.ClassId, Middle_Dll.InterfaceId, Middle_Dll.EventsId)> _ Public Class Middle_Dll #Region "COM GUID"   ' これらの GUID は、このクラスおよびその COM インターフェイスの COM ID を   ' 指定します。この値を変更すると、   ' 既存のクライアントはクラスにアクセスできなくなります。   Public Const ClassId As String   = "**************************"   Public Const InterfaceId As String = "**************************"   Public Const EventsId As String  = "**************************" #End Region   ' 作成可能な COM クラスにはパラメータなしの Public Sub New() を指定しなければ   ' なりません。これを行わないと、クラスは COM レジストリに登録されず、   ' CreateObject 経由で   ' 作成できません。   Public Sub New()     MyBase.New()   End Sub   Public Sub DispMsg()     Dim MsgRet As MsgBoxResult     MsgRet = MessageBox.Show("VB.NET DLLより表示!", "確認メッセージ", MessageBoxButtons.YesNo, MessageBoxIcon.Information)   End Sub End Class --------------------------------------------------------------------- <呼び出し側:Delphi6のEXE> 1.タイプライブラリの取り込み設定で登録したDLLを選択し、   「コンポーネントラッパーの作成」にチェックを入れてインストールを実行。 --------------------------------------------------------------------- unit Unit1; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls,OleCtnrs,ComObj, OleServer; type  TForm1 = class(TForm)   Button1: TButton;   Edit1: TEdit;   procedure Button1Click(Sender: TObject);  private   { Private 宣言 }  public   { Public 宣言 }  end; var  Form1: TForm1;  //----------  //静的呼出  //----------  procedure DispMsg();Stdcall; external 'c:\Middle_Dll.dll' name 'DispMsg'; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin  //----------  //静的呼出  //----------  DispMsg(); end; end. ----------------------------------------------------------------- Delphi6のEXEはすでにあるものなので、 呼び出し元はDelphi6から変えられませんが、 呼び出し先はC#やC++でも構いません。 (1)Delphi6のEXE→VB.NETのDLLの呼び出しは可能でしょうか? (2)可能でしたら不具合と思われる箇所はどこでしょうか? (3)この方法より良いと思われる方法はありますでしょうか? DLLを作った事がないので見よう見まねで作っています。 気になる点やアドバイス程度でも構いませんので、 どうかよろしくお願いいたします。 == 開発環境 == WindowsXP SP3 Delphi6 Enterprise SP2 VisualSutudio2005 ProffesionalEdition 評価版 .NET Framework 1.1~3.5

  • DelphiのPersonal版について・・他

    DelphiのPersonal版について質問させて下さい。 プログラミングの経験は全く無い所からのスタートです。 以前、ここで言語選択の漠然とした質問をさせて頂き、ご回答を踏まえた上で「java」若しくは「Delphi」の何れかを選択しよう!と言う所まで気持ちが固まって来ました。本当はまだ若干の迷いがありランク付けをすると、「Delphi」>「java」>「C」 と言った感じです。 さて前置きが長くなってしまいましたが、 DelphiのPersonal版ではデータベース機能が無いとの事ですが、資産管理ソフト(基本的にデータベースですよね?住所録と同じイメージでいます。)のプログラムは作れないって事なのでしょうか? それとも「データベース機能」の解釈を間違っているのでしょうか? 又、残念ながら資産管理プログラム等を作れないのであれば、この様なプログラムを作る場合「java」と「C」、どちらが向いている言語なのでしょうか?(二択だとした場合です。) 「Delphi」に限らず有償の開発環境もある様ですが、仕事に使いたいと言うよりは、趣味の範囲で勉強出来ればと思い、書籍代位の投資は已む終えないとしても、数万円の出費は今の所考えてません。 また、プログラム自体はスタンドアロンって言うんですか?単体で動く物を作る予定です(出来上がるのは先の先でしょうが・・)。 お手数ですが、ご回答頂ければ幸いです。

  • Delphi:実行形式ファイルのサイズ

    Delphiで、フォームにコントロールを貼り付けただけのプログラムをコンパイルし、 実行形式ファイルを作成しましたら、約500KBになりました。 あまりにも大きいので、小さくならないものかとネット上を探しましたら、 URL : http://f29.aaa.livedoor.jp/~morg/wiki/index.php?Delphi >環境設定 >ファイルサイズを小さくするには > >Delphiの実行ファイルは通常かなりサイズが大きいですが、 >小さくすることができます。 >「ライブラリの参照」から、 動作させる環境で必要のないものだけを除きます。 >(除いた後の動作確認を忘れずに) >そして、プロジェクトオプションの、「実行時のパッケージで再構築」の、 >部分に、必要なものだけを記述して再構築します。 というものがありました。 実際には、「プロジェクト」-「オプション」-タブ「パッケージ」の 「実行時パッケージを使って構築」にチェックを入れました。 結果、約20KBになりました。 これは、いったいどういうこのなのでしょうか? (実行時にはランタイムライブラリ等が必要になる?) ヘルプを見てみましたが、よく分かりませんでした。 また、URLのページで説明にある 1:『「ライブラリの参照」から、 動作させる環境で必要のないものだけを除きます。』 2:『「実行時のパッケージで再構築」の、部分に、必要なものだけを記述して…』 とありますが、具体的にどのように指定するのでしょうか? (1はパス指定のようだが、2はdcpファイルを指定?)

  • Delphi7 RichEdit操作について

    開発環境:Delphi7 Pro <目的> RichEditコンポーネントにバイナリコードの入力を行いたい。 フォーム上にボタンをはりつけ、そのボタンを押すことで1バイトのバイナリデータ(ASCIIコード)をRichEditに入力したいのですが、どうやったら良いのかわかりません。 さらに、追加仕様として、ASCIIコードの制御コードだと認識した場合は、色付きで「STX」とか「ETX」とかの文字列で表示したいと考えています。 (秀丸等のエディタで制御コードを入力し、RichEditにカット&ペーストすると「.」として表示されるからです。) 今は、ヘルプファイルとインターネットをにらめっこしている状態なのですが・・良い情報を見つけることが出来ません。 経験者の方いらっしゃいましたらよろしくお願いいたします。

  • MDBファイルの配布について

    以下のような条件の場合 配布先にACCESSの実行環境(ランタイム)及び、ライセンスは必要でしょうか? ・ACCESSにてMDBを作成し、そこにテーブルとデータを格納する。 ・MDB上のデータを検索/表示するEXEを、VB.NETで作成する。  (EXEからは、ADO.NETでMDBにアクセスする) ・ACCESSのMDBは、単純にデータの格納の為だけに使用する。  (フォーム、レポート、クエリーなどは一切使用しない) ・配布先には、EXEとMDBを配布する。

  • VB4.0にて作成したソフトの配布

    VB4.0(32ビット版)にてソフトを開発しました。 フリーソフトとして配布しようと思います。 インストーラ(EXEとReadMeとKernel32.DLL,Version.DLL)を作成し、知人のPC(Win2000)にインストールしようと したら「VB40032.DLLが見つかりませんでした。」と表示され、インストーラも起動できなかったそうです。 VB6.0のランタイムを入れてもだめだったそうです。 やはり、VB4.0(32ビット版)のランタイムが必要なのでしょうか?ご教授願います。

専門家に質問してみよう