none
隱藏標題列 RRS feed

  • 問題

  • 目前的我設定是這樣

    ControlBox=False
    FormBorder=Sizable
    Text=""

    這樣的確隱藏了,但是我的需求是

    Text<>""
    FormBorder=Sizable

     

    請問我應該改寫WndProc,還是有什麼可以設定?

    2012年1月4日 上午 10:31

解答

所有回覆

  • 沒有人回應…

    是我寫得不夠,還是問題不夠明確?……

    2012年1月5日 上午 02:21
  • 沒有人回應…

    是我寫得不夠,還是問題不夠明確?……


    (1) 未必大家都會在你發布的這幾個小時看到問題, 我們也有自己的工作要賺錢養家, 也要睡覺吃飯, 更何況大部份在這邊回答問題的人都不是微軟員工, 如果你覺得你的問題很重要, 需要馬上解決, 可以聯絡微軟的技術支援中心, 花錢當大爺, 你這種近似抱怨的回應只會讓大家覺得心寒, 不知道我們花自己的時間幫別人解決問題是為哪樁.

    (2) 你的發問我的確看不懂, 你究竟是用哪種語言, 要達到的效果究竟為何 ? 我建議你看一下  [張貼文章應注意事項及應提供資訊] 把問題整理清楚.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2012年1月5日 上午 04:07
    版主
  • [C#][VB.NET]自定義.NET WindowForm表單介面

    http://www.dotblogs.com.tw/larrynung/archive/2008/11/11/5959.aspx


    歡迎參觀我的Blog.NET菜鳥自救會
    2012年1月5日 上午 04:30
  • Hi,

    據我通靈的結果

    您想要的應該是要隱藏標題列

    但卻想要在下面的工作列顯示正確的視窗名稱是吧

    如果是這樣

    請參閱

     

    [C#][VB.NET]自定義.NET WindowForm表單介面(二)

     

    [VB.NET]自定義.NET WindowForm表單介面(三)

     

     


    謙卑學習,持之以恆,才能不斷的Level Up http://www.dotblogs.com.tw/larrynung/
    2012年1月5日 上午 04:44
  • http://www.dreamincode.net/forums/topic/64981-designing-a-custom-title-bar/
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    2012年1月5日 上午 05:08
    版主
  • 如果我的文字讓您感到不舒服,在此向您說一聲抱歉

    論壇本來就是因為網友的熱心,而支持下去的

    我也從沒想過,你們「必須」立刻回答我

    我只是想知道,我的發問是不是有問題

    另外,

    就我的理解在一般情況下 .net語言彼此相通,特別是微軟本身的Framework

    所以,我沒有提使用的語言

    2012年1月5日 上午 10:19
  • 在這發問的人可不一定只用 .Net (何況.Net 還分用 C#或Visual Basic 或 C++ 來寫) , 也有可能是 VB6, 也有可能是 C++ Native
    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年1月5日 上午 10:21
    版主
  • 謝謝大大,我想…如果您本身不會通靈的話,下次就不用再這樣了,通靈聽說很貴的…況且,以您的才智應該是直接能看懂

    根據實測結果:

    方法一:基本上符合需求,但是使用方法一,原本FormBorderStyle.Sizable的Aero外框不見了(其實就是沒那麼好看了而已)

    方法二:就是我原本的方法

    方法三:調整框除了上方,另外三個方向的都還在,不過也變的不好看了…(還有,視窗最大化的時後,上面會呈現透空狀態…)
     

    如果,我做一個Form,專門用來顯示在工作列,這樣會不會很奇怪啊?

     

     



    2012年1月5日 上午 11:05
  • 謝謝您,我知道了。

    使用語言:

    VB.net 2010

    2012年1月5日 上午 11:52
  • 我只看到有人在耍嘴皮子...

    脫衣哥:我熱我不能脫衣服嗎?

    這篇還是上鎖吧~


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2012年1月5日 下午 01:06
  • 我找到了WPS(金山 Office) 如圖

    他的Aero調整外框是全部包圍,然後在工具列一樣有文字

    另外,WPS的程式同樣支援Aero Snape(就是按住視窗標題列,向螢幕上方撞,就會最大化程式),而且一樣有「最大化的動畫」

    不知道是不是有什麼方法,可以像WPS模擬出視窗的標題列,或者說是向系統宣告成標題列


    • 已編輯 asxasdfghjkl 2012年1月5日 下午 02:48 拼錯字
    2012年1月5日 下午 02:46
  • 在 Windows Vista 之前,想要做自訂標題列,都要自己畫。

    在 Windows Vista 開始,可以用 Desktop Window Manager (DWM) 來繪製,像是:http://msdn.microsoft.com/en-us/library/windows/desktop/bb688195(v=vs.85).aspx


    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    • 已標示為解答 asxasdfghjkl 2012年1月9日 下午 12:51
    2012年1月5日 下午 03:02
    版主
  • 謝謝大大,先大概看一下,好像正是我要的,我先試試。
    2012年1月5日 下午 03:06
  • 早貼圖就清楚多了, 直到圖貼出來大家才恍然大悟, 這很類似Ribbon,  用WPF是比較容易做到, Windows Form可能就要用小朱建議的方式了.

    [Ribbon (WPF)]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2012年1月5日 下午 03:23
    版主
  • 正在努力解讀「密碼」,

    我會使用DllImport,但是有一些型別是VB所沒有的,我該怎麼對應進去?

    ex.

    HRESULT WINAPI DwmExtendFrameIntoClientArea(
      HWND hWnd,
      __in  const MARGINS *pMarInset
    );

    HRESULT 和 MARGINS ,我該怎麼處理

    我找到 HWND 相當於 Int32

    .........

    2012年1月5日 下午 03:40
  • 參考這個對照表[平台叫用資料型別]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。
    2012年1月5日 下午 04:05
    版主
  • 範例中,需要透過 Message.LParam 的指標取得一些物件,可是

    LParam的型別是 IntPtr ,我不知道該怎麼轉換成其他型別 ex. BOOL 和 NCCALCSIZE_PARAMS

    因為範例,是使用 C 所以我目前用 C# 嘗試

    可以把我 VB & C# (2010)的方法都告訴我嗎

    2012年1月6日 上午 07:46
  • http://community.bartdesmet.net/blogs/bart/archive/2006/10/05/4495.aspx
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure
    2012年1月7日 上午 01:04
    版主
  • 我的意思是說,怎麼把 IntPtr 這個指標,轉成其他物件,貼兩行範例中的原始碼

     if ((message == WM_NCCALCSIZE) && (wParam == TRUE))
    NCCALCSIZE_PARAMS *pncsp = reinterpret_cast<NCCALCSIZE_PARAMS*>(lParam);

    可是我

    NCCALCSIZE_PARAMS pncsp =  (NCCALCSIZE_PARAMS)m.LParam;
    NCCALCSIZE_PARAMS pncsp = m.LParam as NCCALCSIZE_PARAMS;
    NCCALCSIZE_PARAMS pncsp = m.LParam as NCCALCSIZE_PARAMS?;

    這樣都不行…

    2012年1月7日 上午 02:25
  • 我在文章中找到了

    謝謝大大

    NCCALCSIZE_PARAMS rcsize = (NCCALCSIZE_PARAMS)Marshal.PtrToStructure(m.LParam, typeof(NCCALCSIZE_PARAMS));

    2012年1月7日 下午 02:55
  • 感謝各位大大的幫助,這是成果:

    不過,如果我還希望像我之前貼的 金山Office那樣,讓「自訂標題列」支援Aero Snape,我該再開新主題嗎?

    還是繼續在這裡討論?

    2012年1月7日 下午 05:58