小4のKunpaです。
 前はレースゲームと言っていたのに今度はRPGと来て・・
いろんなジャンルに変えてスミマセン。
 ところで、オブジェクトを常に最前面に出すことは
出来ますが、コードに書くと、どうなるのでしょうか。
その前に、コードにかけるのですか。
教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

オブジェクトの ZOrderメソッドを使うとデザイン画面の


「最前面へ移動」「最背面へ移動」ができるようです。

(例) テキストボックス
Text1.ZOrder (0) '前方移動
Text1.ZOrder (1) '後方移動
    • good
    • 3
この回答へのお礼

どうもお忙しい中簡単なことに回答していただいてありがとうございます。
すぐに試してみます。

お礼日時:2001/12/09 08:50

フォームの中の各コントロールオブジェクトの[前面/背面]制御は、#1の発言通りです。



もしフォームを最前面固定にしたいのであれば。API関数が必要です。

フォームの先頭で以下を宣言
Private Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOPMOST = -1
Private Const SWP_NOSIZE = &H1&
Private Const SWP_NOMOVE = &H2&


最前面固定にしたいタイミングで、以下のコードを実行
Call SetWindowPos(Form1.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q漢字

難しい漢字
面白漢字
読めそうで読めない漢字
。。。。。などなど
クイズに出来そうな漢字を探しています。

そんなサイトありませんか?
教えて下さい。

Aベストアンサー

僕は、ここを愛用しています。役に立つし、面白いです。


http://www.taishukan.co.jp/kanji/kanji_qa.html

QActiveX EXEのオブジェクトに渡したオブジェクトが微妙

またまた微妙な質問ですみません。

-------
ActiveX EXEプロジェクト
Class Hoge

Public Sub Moge(lst)

Dim Cast As ListBox
MsgBox TypeName(lst) 'ListBoxと表示される
Set Cast = lst 'ここがエラー
Cast.List(2) = "hogehoge" 'キャストはできないがVariant型のままのアクセスは可能

End Sub
-------
標準EXE
Class Form1 (List1を配置)

Dim X As New Hoge

Private Sub Form_Load()

X.Moge List1

End Sub
-----

このように、アウトプロセスのオブジェクトにフォームのコントロールを渡しました。
引数の型をAs ListBoxにしたかったのですが、それだとまずそこで型が一致しないといわれます。
しようがないのでVariantで引数を宣言し、渡した後にキャストしようと思ったのですが、そこでも型が一致しないといわれます。
TypeName関数は "ListBox" を返すし、Variant型のままメンバにアクセスすることはできるのですが、ListBox型の変数に代入することだけできないのです。

別プロセスのオブジェクトには、オブジェクトの参照は渡せないのでしょうか?

またまた微妙な質問ですみません。

-------
ActiveX EXEプロジェクト
Class Hoge

Public Sub Moge(lst)

Dim Cast As ListBox
MsgBox TypeName(lst) 'ListBoxと表示される
Set Cast = lst 'ここがエラー
Cast.List(2) = "hogehoge" 'キャストはできないがVariant型のままのアクセスは可能

End Sub
-------
標準EXE
Class Form1 (List1を配置)

Dim X As New Hoge

Private Sub Form_Load()

X.Moge List1

End Sub
-----

このように、アウトプロセスのオブジェクトにフォームのコ...続きを読む

Aベストアンサー

リストボックスをオブジェクト変数にセットして、何をしたいのでしょうか?
それがわかった方が、求める動きが可能かもしれません。

別プロセスでオブジェクトを渡すのは無理かと思います。
もしできるとしたら、オブジェクトのハンドルを取得し、オブジェクト変数の領域を確保。そこに代入という方法が思いつきますが、領域確保が思うようにならないVBでは落ちると思います。

ただリストボックスの選択している場所を得たいとか、選択させたいとか、そういう操作なら別プロセスなら、ハンドルだけで操作する方法もあります。

結局結末は何がしたいのでしょうか?

Qフランスがベトナムから漢字文化を奪ったことで

フランスは植民地時代ベトナムから漢字体系を奪ったと聞きましたが、その結果どういう影響が現在残っているのでしょうか。悪い面だけではなく、良い面も教えていただければ幸いです。

Aベストアンサー

 フランス人神父が作ったアルファベットによるベトナム語表記法が幅広く普及した結果、識字率が大幅に向上しました。
 ベトナムにはチュノム文字というベトナム固有の文字が発明され使われていましたが、漢字をもっと複雑にしたような字なので難しくて上流階級や役人など一部の人にしか使われておらず、人民のほとんどは字の読み書きが出来ませんでした。(チュノム文字、 ベトナム 識字率、 などで御検索なさってください。)

 悪い面は、勉強不足のためわかりません。絶対あると思うんですが。
 ベトナムはれっきとした漢字文化圏ですが、ちゃんと漢字を習わないことでことばの元になってる漢字の持つ意味がピンと来なくなって来ていて、漢字へのなじみが遠くなっている、とかが悪い面でしょうか。

 漢字文化はベトナムにまだまだすみずみまで残ってます。
 人の名前も、ベトナム人は グァン・クェン・ユー みたいな感じですが、これは元が漢字で ○・○・○ 3文字なことを表してます。
 お店の名前なんかも、 よく聞くと ○○・○○・○○・○○ で漢字が元になってて漢字4文字がだいたい想像出来ちゃうことなんかもあります。(売ってる商品と関連づけると、あああの漢字ねみたいにわかります。)

 フランス人神父が作ったアルファベットによるベトナム語表記法が幅広く普及した結果、識字率が大幅に向上しました。
 ベトナムにはチュノム文字というベトナム固有の文字が発明され使われていましたが、漢字をもっと複雑にしたような字なので難しくて上流階級や役人など一部の人にしか使われておらず、人民のほとんどは字の読み書きが出来ませんでした。(チュノム文字、 ベトナム 識字率、 などで御検索なさってください。)

 悪い面は、勉強不足のためわかりません。絶対あると思うんですが。
 ベトナ...続きを読む

QVisual Basic.NETのエラー("オブジェクト参照がオブジェクト インスタンスに設定されていません。")について

DLLを読み込むプログラムで、以下のように宣言した関数"VCread_wave_file"を呼び出そうとすると、
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"
というエラーが出てしまうのですが、なぜなのでしょうか?

プログラムは以下のようになっています。

Public Class Form1
Inherits System.Windows.Forms.Form

Dim status As Integer
Dim wavelength As Long
Dim samplf As Double

Private Declare Function VCread_wave_file Lib "Vcon.dll" (ByVal FileName As String, ByVal tmpFilename As String, ByVal wavelength As Long, ByVal samplingFrequency As Double) As Integer

(中略)

Private Sub ChangeStartButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChangeStartButton.Click

status = VCread_wave_file("rectmp.wav", "rectmp.raw", wavelength, samplf)
Label4.Text = status

End Sub

よろしくお願いいたします。

DLLを読み込むプログラムで、以下のように宣言した関数"VCread_wave_file"を呼び出そうとすると、
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"
というエラーが出てしまうのですが、なぜなのでしょうか?

プログラムは以下のようになっています。

Public Class Form1
Inherits System.Windows.Forms.Form

Dim status As Integer
Dim wavelength As Long
Dim samplf As Double

Private Declare Function VCread_wave_file Lib "Vcon.dll" (ByVal FileNa...続きを読む

Aベストアンサー

そのDLLは知らないのですが、アンマネージならまずその型は合っているかどうかの確認を。
VB.NETではLongは64bit、Integerは32bitに変更されていますので、VB6.0でのLongを意味しているならVB.NETではIntegerです。IntegerならShortになります。

Qユニコードは第0面以外はまだ使われてない?

ウィンドウズのIMEパッドでは、ユニコードの第0面しか表示されません。
サロゲートペアで第1面以降を検索する機能もありません。
必要な漢字や世界中の文字も第0面で足りているようにみえます。
第1面以降は一般人にはまだ使われることはないのでしょうか?

Aベストアンサー

>ウィンドウズのIMEパッドでは、ユニコードの第0面しか表示されません。
それはMicrosoft IME Standard 2003 までの話です。
私はWindows 7 + Microsoft Office IME 2010 で見ていますが、
【IMEパッド ­- 文字一覧】の追加漢字面
で、SimSun-ExtB を使えば、
CJK 統合漢字 拡張 Bの
U+20000「

Q呼び出したフォームが最前面に表示されない

いつもお世話になっております。
現在、医療システムの保守・メンテナンス業務を行っております。
先日、顧客より通常展開される画面上で入力した事項に対する、
チェック機能を追加し、チェックに引っかかった場合は、
新たな画面を起動して、その画面上で警告メッセージを表示すると共に、
チェックに対する修正を加えられるようにしたいとの要望を受けました。
現在、対応中ですが、どうしてもその画面が最前面に表示されません。

開発元に問い合わせれば済む話なのですが、基本的に回答が遅い為、
できることならこちら側で対処したいと思っております。
現在まで、社員の方の意見や本、インターネットで調べ「SetWindowsPos」等を試みましたが成功しませんでした。
元のシステムの仕様に問わず、100%最前面にフォームを表示させる
方法がございましたら、ご教授頂けますようお願い申し上げます。
なお、端末はWindows NT4.0、言語はVB5です。現在、プログラマーとして
生計をたてておりますが、経験が浅いため、知恵をお借りしたく
存知ます。何卒よろしくお願い申し上げます。

いつもお世話になっております。
現在、医療システムの保守・メンテナンス業務を行っております。
先日、顧客より通常展開される画面上で入力した事項に対する、
チェック機能を追加し、チェックに引っかかった場合は、
新たな画面を起動して、その画面上で警告メッセージを表示すると共に、
チェックに対する修正を加えられるようにしたいとの要望を受けました。
現在、対応中ですが、どうしてもその画面が最前面に表示されません。

開発元に問い合わせれば済む話なのですが、基本的に回答が遅い為、
...続きを読む

Aベストアンサー

> 試みましたが成功しませんでした。
SetWindowsPosを利用しますね。どういうふうに「成功しませんでした」なんでしょうか?

VB5とのことですから、SPなどが適応していないのかな?

Shell32.dllがVer4.71以降なら、Shellオブジェクトの「全ウィンドウを最小化」が利用できるかも?(Minimize.All)
その上で、必要なウィンドウだけ「元のサイズに」「アクティブ」にでどうでしょうか。

Qこの漢字はなんと読むのてしょうか?

口の下に面
と書いて一文字です。

なんと読む漢字ですか?

Aベストアンサー

□の下は面ではなく、No.1さんの書いた字なら
図(旧漢字の圖)の異体字です。

Q指定したフォルダーを最前面表示にする方法

Excel VBAを使って
D:\aaa\bbb\のフォルダーが
もし、開かれていなければ
最前面表示でこれを開き、

もし、既に開かれていればそのウインドウを最前面表示にするプログラムを
作りたいのですが
どのようにすれば良いでしょうか?

Aベストアンサー

>もし、既に開かれていればそのウインドウを最前面表示にするプログラム
の動作も含めて

Sub ボタン1_Click()
CreateObject("Shell.Application").Open "D:\aaa\bbb\"
End Sub

でご希望の動作になりませんか?

Q”三面記事”の由来

新聞を読む時三面記事から読むとか言いますが
この三面記事ってなぜ3面なのでしょうか?
実際にはもっと沢山ページがあるように思うのですが。。。
ひょっとして私の覚えている漢字
”三面記事”ってのも間違ってますか??!

どうかご教授ください

Aベストアンサー

こんにちは。

昔、新聞はページ数が少なかったので、現在の社会面にあたるページは3ページ目でした。
そこにスキャンダルや殺人事件などの記事が載ったので、そういったニュースは三面記事と呼ばれるようになったそうです。

ご参考まで。

「新聞
現今の新聞では,外国ニュースは何ページ(面),政治記事は何ページと,それぞれまとめられており,記事の項目分類といってもよいが,その分類は,政治部,経済部,学芸(文化)部といった新聞社の組織機構の分割と対応している。日本では,明治初期に多くの新聞が4ページだてのころ,人殺し,ゴシップ,スキャンダルなど市井の雑事は三面に集められていた。そこから,人生の過半を占める〈社会〉ニュースをやや軽べつのニュアンスをふくめて〈三面記事〉と称するようになった。エリート的意識の支配した初期のジャーナリストの世界では,天下国家を報道,論評する記者(硬派記者とよばれた)が本流とされ,市井の俗事を扱う記者(軟派記者とよばれた)は,数段低い存在とみなされていたからである。明治30年代前後から,報道新聞(〈言論新聞〉に対する)の優位が確立し,〈三面記事〉は,部数拡張の基盤として,社内的にも,読者との関係からも,優位性を確立していく。」
出典:平凡社 世界大百科事典第二版

こんにちは。

昔、新聞はページ数が少なかったので、現在の社会面にあたるページは3ページ目でした。
そこにスキャンダルや殺人事件などの記事が載ったので、そういったニュースは三面記事と呼ばれるようになったそうです。

ご参考まで。

「新聞
現今の新聞では,外国ニュースは何ページ(面),政治記事は何ページと,それぞれまとめられており,記事の項目分類といってもよいが,その分類は,政治部,経済部,学芸(文化)部といった新聞社の組織機構の分割と対応している。日本では,明治初期に多くの新...続きを読む

Q「シートを最前面」にしたいのです…。

 VBA初心者です。(エクセル2003を使用)標題のとおりなのですが,画面いっぱいを占めるフォームの手前に,画面の7割ほどを占めるシートを表示しておいて,両方の画面を同時に使えるようにしたいのですが上手くいきません。
 フォームの手前にシートを表示することはできないのでしょうか?良い方法があれば教えてください。

Aベストアンサー

こんにちは。KenKen_SP です。

Microsoft Office Spreadsheet x.x コントロールを使うとか。

http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_100.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報