atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
lafe @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
lafe @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
lafe @ ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • lafe @ ウィキ
  • DonutTabView

lafe @ ウィキ

DonutTabView

最終更新:2009年12月28日 14:15

lafe

- view
管理者のみ編集可
CTabViewImplのMovePage
消すのももったいないので

// nMovePageは移動するタブのインデックス、nInsertBeforePageは移動先のタブのインデックス
bool MoveTab(int nMovePage, int nInsertBeforePage)
{
	ATLASSERT(IsValidPageIndex(nMovePage));
	ATLASSERT(IsValidPageIndex(nInsertBeforePage));
 
	if(!IsValidPageIndex(nMovePage) || !IsValidPageIndex(nInsertBeforePage)) {
		return false;
	}
 
	if(nMovePage == nInsertBeforePage) {
		return true;   // nothing to do
	}
 
	CTempBuffer<TCHAR, _WTL_STACK_ALLOC_THRESHOLD> buff;
	LPTSTR lpstrTabText = buff.Allocate(m_cchTabTextLength + 1);
	if(lpstrTabText == NULL)
		return false;
	TCITEMEXTRA tcix = { 0 };
	tcix.tciheader.mask = TCIF_TEXT | TCIF_IMAGE | TCIF_PARAM;
	tcix.tciheader.pszText = lpstrTabText;
	tcix.tciheader.cchTextMax = m_cchTabTextLength + 1;
	BOOL bRet = m_tab.GetItem(nMovePage, tcix);
	ATLASSERT(bRet != FALSE);
	if(bRet == FALSE)
		return false;
 
	/* 移動先にタブを挿入する処理 */
	// 移動先のインデックスが移動するタブのインデックスより大きい場合
	// (タブが右に移動された場合)
	// 移動先のインデックス + 1の場所にアイテムを挿入する
	// (挿入されたアイテムは保持、移動するタブのアイテムは削除するようにする)
	int nInsertItem = (nInsertBeforePage > nMovePage) ? nInsertBeforePage + 1 : nInsertBeforePage;
	int nNewItem = m_tab.InsertItem(nInsertItem, tcix);
	ATLASSERT(nNewItem == nInsertItem);
	if(nNewItem != nInsertItem)
	{
		// タブに追加失敗
		ATLVERIFY(m_tab.DeleteItem(nNewItem));
		return false;
	}
 
	/* 移動元のアイテムを削除する処理 */
	// 移動するタブのインデックスが移動先のインデックスより大きい場合
	// (タブが左に移動された場合)
	if(nMovePage > nInsertBeforePage) {
		ATLVERIFY(m_tab.DeleteItem(nMovePage + 1) != FALSE);
	} else if(nMovePage < nInsertBeforePage) {
		// タブが右に移動されたので移動元のアイテムのインデックスは変化しない
		ATLVERIFY(m_tab.DeleteItem(nMovePage) != FALSE);
	}
 
//		SetActivePage(nInsertBeforePage);
//		OnPageActivated(m_nActivePage);
 
	return true;
 
}
「DonutTabView」をウィキ内検索
LINE
シェア
Tweet
lafe @ ウィキ
記事メニュー
メニュー
  • トップページ

作成したソフトウェア
  • unDonut
    • 更新履歴
    • 既知のバグ
    • unDonutScript

  • ExpTabBar

  • SetDefaultAudioDevice

  • Proxydomo
    • 詳細
    • SSLフィルタリング
    • Chromium系列のブラウザでSSLフィルタリングが利用できない
    • Proxydomo - English edition

  • ImageArrangement

  • TTBase拡張
    • ファイルダイアログ拡張10
    • ChangeCaretColor

プログラムtip
  • C++
    • Tip



合計: -
今日: -
昨日: -


記事メニュー2
何かあれば【 こちら 】まで問い合わせください

更新履歴

取得中です。
人気記事ランキング
  1. Chromium系列のブラウザでSSLフィルタリングが利用できない
もっと見る
最近更新されたページ
  • 1937日前

    メニュー
  • 1937日前

    ExpTabBar
  • 1937日前

    ExpTabBar old
  • 2279日前

    Proxydomo
  • 3016日前

    Chromium系列のブラウザでSSLフィルタリングが利用できない
  • 3061日前

    FileDlgHack
  • 3096日前

    右メニュー
  • 3203日前

    proxydomo_detail
  • 3431日前

    Proxydomo - English edition
  • 3521日前

    SetDefaultAudioDevice
もっと見る
人気記事ランキング
  1. Chromium系列のブラウザでSSLフィルタリングが利用できない
もっと見る
最近更新されたページ
  • 1937日前

    メニュー
  • 1937日前

    ExpTabBar
  • 1937日前

    ExpTabBar old
  • 2279日前

    Proxydomo
  • 3016日前

    Chromium系列のブラウザでSSLフィルタリングが利用できない
  • 3061日前

    FileDlgHack
  • 3096日前

    右メニュー
  • 3203日前

    proxydomo_detail
  • 3431日前

    Proxydomo - English edition
  • 3521日前

    SetDefaultAudioDevice
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. ソードランページ @ 非公式wiki
  6. AviUtl2のWiki
  7. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  8. Dark War Survival攻略
  9. ヒカマーWiki
  10. 星飼いの詩@ ウィキ
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. 初音ミク Wiki
  6. 発車メロディーwiki
  7. 検索してはいけない言葉 @ ウィキ
  8. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  9. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  10. オレカバトル アプリ版 @ ウィキ
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. べりはぴ - ストグラ まとめ @ウィキ
  3. アプリコット - ストグラ まとめ @ウィキ
  4. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  5. ガンダム・エアリアル(改修型) - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  6. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  7. 機体一覧 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  8. コメント/雑談・質問 - マージマンション@wiki
  9. 危険度7 - 検索してはいけない言葉 @ ウィキ
  10. 奇夢 ヤミ - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.