mfc-ml
2005年02月
Next »
27
2005年02月27日 22:37
カテゴリ
[mfc 50498] Re: ツールバーのドロップダウンボタン高さ
すいません、なかなか届かないので宛先を間違えたかと思ってもう1度出して
しまいました。
ち...@mfc.acty-net.ne.jp宛でした。
27
2005年02月27日 22:21
カテゴリ
[mfc 50499] Re: [mfc 50478] Re:Re:IMEの On/Off の方法について
こんにちわ、村尾DOSさん、大槻です。
すみません、ご返事が遅くなりました。
At 20:41 05/02/20, you wrote:
>私はこんなことをやっていますが参考になりますか?
> HWND hIme = ImmGetDefaultIMEWnd(hWnd);
> long ls = SendMessage(hIme, WM_IME_CONTROL, IMC_GETOPENSTATUS, NULL);
これでうまくいきました。IMC_GETOPENSTATUS, IMC_SETOPENSTATUSって、
隠しコマンドなんですね。ヘッダにもMSDNにも記述がなくて、
わかりませんでした。
WinCE用にはあるみたいですけど。
--- . __ ____〒 !!|========================|
★ * …())_)_)_)=◎* | |
***  ̄ △ ゜( v )| 大槻正樹 |
* ★ /|\ (_) | m...@nifty.com|
/ | \ | | |========================|
27
2005年02月27日 19:19
カテゴリ
[mfc 50497] ツールバーのドロップダウンボタン高さ
はじめまして。aqaと申します。
ツールバーでドロップダウンボタンを作成しようと思っていますが、
ボタン高さが通常より高くなり、ボタンの下端が切れて表示されてしまいます。
ソースは以下の通りです。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// フレームのクライアント領域全体を占めるビューを作成します。
if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))
{
TRACE0("ビュー ウィンドウを作成できませんでした。\n");
return -1;
}
if (!m_wndToolBar.CreateEx(this)) {
TRACE0("ツール バーの作成に失敗しました。\n");
return -1; // 作成できませんでした。
}
m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_
DRAWDDARROWS);
// イメージ登録(24*24, 256色、透過色指定)
m_bmp1.LoadBitmap(IDB_BITMAP1);
m_imageList.Create(24, 24, ILC_COLORDDB | ILC_MASK, 1, 1);
m_imageList.Add(&m_bmp1, RGB(192, 192, 192));
m_wndToolBar.GetToolBarCtrl().SetImageList(&m_imageList);
// 文字列登録
m_wndToolBar.GetToolBarCtrl().AddStrings(_T("切り取り\0"));
// ボタン登録
TBBUTTON tbb;
memset(&tbb, 0, sizeof(tbb));
tbb.iBitmap = 0;
tbb.idCommand = ID_EDIT_CUT;
tbb.fsState = TBSTATE_ENABLED;
tbb.fsStyle = TBSTYLE_BUTTON | TBSTYLE_DROPDOWN;
tbb.dwData = 0;
tbb.iString = 0;
m_wndToolBar.GetToolBarCtrl().AddButtons(1, &tbb);
// サイズ設定
CRect rcItem;
m_wndToolBar.GetItemRect(0, &rcItem);
m_wndToolBar.SetSizes(CSize(rcItem.Width(), rcItem.Height()),
CSize(24, 24));
// サイズ確認用
CRect rcTest;
m_wndToolBar.GetItemRect(0, &rcTest);
return 0;
}
SetSizesで設定している高さは51になり、直後にGetItemRectすると、高さが58
になってしまいます。
ちなみにこの現象が起きるのは、XPテーマにしているときで、Classicスタイル
にすると高さは両方とも43となり正しくなります。
(リソースにマニフェストファイルを追加しています。)
また、TBSTYLE_EX_DRAWDDARROWS あるいは TBSTYLE_DROPDOWN を除いて矢印が表
示されないようにするとXPテーマ時でも高さは両方とも43となり正しくなります。
どなたか原因が分かりますでしょうか?
開発環境は下記の通りです。
WindowsXP Home
VC++.NET 2003
以上よろしくお願いします。
27
2005年02月27日 19:15
カテゴリ
[mfc 50496] ツールバーのドロップダウンボタン高さ
はじめまして。aqaと申します。
ツールバーでドロップダウンボタンを作成しようと思っていますが、
ボタン高さが通常より高くなり、ボタンの下端が切れて表示されてしまいます。
ソースは以下の通りです。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
// フレームのクライアント領域全体を占めるビューを作成します。
if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,
CRect(0, 0, 0, 0), this, AFX_IDW_PANE_FIRST, NULL))
{
TRACE0("ビュー ウィンドウを作成できませんでした。\n");
return -1;
}
if (!m_wndToolBar.CreateEx(this)) {
TRACE0("ツール バーの作成に失敗しました。\n");
return -1; // 作成できませんでした。
}
m_wndToolBar.GetToolBarCtrl().SetExtendedStyle(TBSTYLE_EX_
DRAWDDARROWS);
// イメージ登録(24*24, 256色、透過色指定)
m_bmp1.LoadBitmap(IDB_BITMAP1);
m_imageList.Create(24, 24, ILC_COLORDDB | ILC_MASK, 1, 1);
m_imageList.Add(&m_bmp1, RGB(192, 192, 192));
m_wndToolBar.GetToolBarCtrl().SetImageList(&m_imageList);
// 文字列登録
m_wndToolBar.GetToolBarCtrl().AddStrings(_T("切り取り\0"));
// ボタン登録
TBBUTTON tbb;
memset(&tbb, 0, sizeof(tbb));
tbb.iBitmap = 0;
tbb.idCommand = ID_EDIT_CUT;
tbb.fsState = TBSTATE_ENABLED;
tbb.fsStyle = TBSTYLE_BUTTON | TBSTYLE_DROPDOWN;
tbb.dwData = 0;
tbb.iString = 0;
m_wndToolBar.GetToolBarCtrl().AddButtons(1, &tbb);
// サイズ設定
CRect rcItem;
m_wndToolBar.GetItemRect(0, &rcItem);
m_wndToolBar.SetSizes(CSize(rcItem.Width(), rcItem.Height()),
CSize(24, 24));
// サイズ確認用
CRect rcTest;
m_wndToolBar.GetItemRect(0, &rcTest);
return 0;
}
SetSizesで設定している高さは51になり、直後にGetItemRectすると、高さが58
になってしまいます。
ちなみにこの現象が起きるのは、XPテーマにしているときで、Classicスタイル
にすると高さは両方とも43となり正しくなります。
(リソースにマニフェストファイルを追加しています。)
また、TBSTYLE_EX_DRAWDDARROWS あるいは TBSTYLE_DROPDOWN を除いて矢印が表
示されないようにするとXPテーマ時でも高さは両方とも43となり正しくなります。
どなたか原因が分かりますでしょうか?
開発環境は下記の通りです。
WindowsXP Home
VC++.NET 2003
以上よろしくお願いします。
24
2005年02月24日 19:53
カテゴリ
[mfc 50495] Re: CTimeの2038年問題対応は?
Imabeppu です。
Quoted from
Subject: [mfc 50494] Re: CTime の2038年問題対応は?
From: Hiroyuki Matsumoto <m...@softplanet.co.jp>
Date: 2005/02/24 13:50:21 (Thu, 24 Feb 2005 13:50:21 +0900)
> ANSI C では time_t の実際の型が何かは規定していないんじゃなかったでし
> たっけ?(自信ないけど)
なるほど。
> つまり、2038年問題は厳密に言うと、time_t を long で定義している処理系
> が大半であること(かつ long であることを前提にプログラムが作成されている
> こと)が問題なのであって、C言語自身の問題じゃないのでは。
規格上、long は32ビット固定でしょうか?
とにかく、2038年問題の原因は time_t を32ビット符号付き整数で定
義してあったこと、ということですね。
32ビットより大きな整数を使えなかった時代があったので、仕方ない
のかもしれませんが、せめて unsigned long だったらよかったのに
と思ってしまいますね。
> time_t を long と決め打ちさえしていなければ、64ビット化されたライブラ
> リでコンパイルし直すだけ済むんでしょうけど、そうはいかないでしょうね。
> (だから Microsoft は いっそのこと 64ビット系の型と関数を別にしちゃえっ
> て考えたんだろうな)
time_t を64ビットで定義しなおしてビルドしなおせば OK なのでは
ないでしょうか?
ただ、そのライブラリを利用しているものをすべてビルドしなおさな
ければならなくなります。そういう問題を避けるため(旧バージョン
との互換性を保つため)、Microsoft は time_t の定義をそのままと
して、新しい型を用意したのではないでしょうか?
たとえば、MSVCRT.DLL の time_t が突然64ビットになったら大きな
おおごとでしょうね。(^^;)
> 最終的には time_t の64ビット化へ収束していくのは間違いないでしょうが、
> 今現在の過渡期には処理系ごとに対応マチマチでしょう。
そうですね。
だいぶすっきりしました。ありがとうございました。
--
|===== ∧ ∧ ===============|
|== n(=⌒o⌒=)n Imabeppu ==|
Next »
記事検索
月別アーカイブ
2006年11月
2006年10月
2006年09月
2006年08月
2006年07月
2006年06月
2006年05月
2006年04月
2006年03月
2006年02月
2006年01月
2005年12月
2005年11月
2005年10月
2005年09月
2005年08月
2005年07月
2005年06月
2005年05月
2005年04月
2005年03月
2005年02月
2005年01月
2004年12月
2004年11月
2004年10月
2004年09月
2004年08月
2004年07月
2004年06月
2004年05月
2004年04月
2004年03月
2004年02月
2004年01月
2003年12月
2003年11月
2003年10月
2003年09月
2003年08月
2003年07月
2003年06月
2003年05月
2003年04月
2003年03月
2003年02月
2003年01月
2002年05月
2002年04月
2002年03月
2002年02月
2002年01月
2001年12月
2001年11月
2001年10月
2001年09月
2001年08月
2001年07月
2001年06月
2001年05月
2001年04月
2001年03月
2001年02月
2001年01月
2000年12月
2000年08月
2000年07月
2000年06月
2000年05月
2000年04月
2000年03月
2000年02月
2000年01月
1999年12月
1999年11月
1999年10月
1999年09月
1999年08月
1999年07月
1999年06月
1999年05月
1999年04月
1999年03月
1999年02月
1999年01月
1998年12月
1998年11月
1998年10月
1998年09月
1998年08月
1998年07月
1998年06月
1998年05月
1998年04月
1998年03月
1998年02月
1998年01月
1997年12月
1997年11月
1997年10月
Amazon.co.jp