入力モードの切換え – プログラミング – Home

通知
すべてクリア

[解決済] 入力モードの切換え


とも
 とも
(@とも)
ゲスト
結合: 24年前
投稿: 65
Topic starter  

こんにちは。
ダイアログにエディットボックスを貼り付けました。
エディットボックスに文字を入力しようとすると直接入力になってしまいます。
キーボードで全角と半角をあえて切り替えないと、全角文字が入力できません。
これをプログラムで制御(初期状態で全角入力にしたい)することはできるの
ですか?
環境は、Windows XP/VC++.NET です。


引用未解決
トピックタグ
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

コピペで作ったものです VC6のものです
Windows XPでも動作可能です
VC++.NET はまだ未確認

void CXXXX::ImeOn(HWND hWnd ,BOOL bOn)
{
HIMC hIMC = ImmGetContext( hWnd );
ImmSetOpenStatus( hIMC, bOn );
ImmReleaseContext( hWnd, hIMC );

}

--------------------利用側--------------------------------
void CXXView::OnSetfocusXXXX()
{
CXXXX.ImeOn( m_hWnd ,TRUE );
}
void CXXView::OnKillfocusXXXX()
{
CXXXX.ImeOn( m_hWnd ,FALSE );
}

Imm系の関数は自分でMSDN 読んでね


返信引用
とも
 とも
(@とも)
ゲスト
結合: 24年前
投稿: 65
Topic starter  

Imm.hをインクルードして、Imm32.Libインポートしてビルドしたら
このようなエラーが出ました。

SubMng fatal error LNK1220: '/NOASSEMBLY' には '/DLL' 指定が必要です。

どうすればいいかわかりません。
なにかおわかりますか?


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

>'/DLL' 指定が必要です。
って言ってるんだから指定すれば良いでしょう
なぜやらずに質問する?

それに「.NET Framework」を経由するアプリを作ってる訳では無いのでしょう
>'/NOASSEMBLY'
とは VC++.NET から付いたリンクオプションです

それぞれ明確に表示されているオプション名称なのだから
甘えずMSDNをよく見なさい
「.NET Framework」を経由するものであれば「Imm32.Lib」はSystemオブジェクトに
あるはずだと思います
詳細は「.NET Framework」を勉強してください

明確に「.NET Framework」アプリを作っているのであれば、最初に明言しないあなたが
悪い

両用または多用途型のツールを使用している意識を持って、今後質問したほうが良いで
すよ
最低限コンソールアプリなのか、「.NET Framework」アプリなのか、Win32アプリなのか
今までのVC6までは単体では「.NET Framework」アプリ作成できないので・・・


返信引用
ロウブ
 ロウブ
(@ロウブ)
ゲスト
結合: 21年前
投稿: 1
 

きついね~。
そんなこと言われたら誰も質問できないよ。

なんでも教えて君は困りものだけど、ちょっとした
アドバイスで道が開けることもあるわけだし。

誰もが自分と同じレベルでモノを考えられると思うのは
やめたほうがいいよ。

#横槍すみません。


返信引用
とも
 とも
(@とも)
ゲスト
結合: 24年前
投稿: 65
Topic starter  

できました。
/DLLの追加は問題ではありませんでした。
#include Imm.hの下に次の行を追加しました。
#pragma comment( lib, imm32.lib )

ありがとうございます。

私が勉強不足で、/DLLの使い方がわからず、この掲示板で質問
するレベルに達していませんでした。dllの勉強をしようと思います。
すみません。


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

>#pragma comment( lib, imm32.lib )
このように、しなければいけない理由は何のどこに書いてあったの?
俺は全然してなくても実現できてるけど?

Visual Studio.NET2003 も通してみたけど問題なかったよ

>Imm32.Libインポートして
って言ってるけど、どうやって、どこにインポートしたの?

俺はリンカのオプション指定の「入力」の追加の依存ファイルへ「imm32.lib」を
追加してるだけですけど?

見てたら教えてよ


返信引用
aetos
(@aetos)
Noble Member
結合: 6年前
投稿: 1480
 

>どうやって、どこにインポートしたの?
大方、
#import imm32.lib
とでも書いたんじゃないでしょうかね。

>>#pragma comment( lib, imm32.lib )
>このように、しなければいけない理由は何のどこに書いてあったの?
>俺は全然してなくても実現できてるけど?

>俺はリンカのオプション指定の「入力」の追加の依存ファイルへ「imm32.lib」を
>追加してるだけですけど?

#pragma comment( lib, ... でもリンカオプションでも同じことですよ。


返信引用
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

シャノンさんへ 大変参考になりました
ありがとうございます


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました