熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PB編程 >> 正文

PB中消息對話框的居中顯示[1]

2022-06-13   來源: PB編程 
    SharedObject系列函數和共享對象有關的函數包括SharedObjectRegisterSharedObjectGetSharedObjectUnregister和SharedObjectDirectory函數

  首先用SharedObjectRegister函數初始化共享對象並建立一個單獨的線程
SharedObjectRegister (ccuo_thread thread ) 其中ccuo_thread是一個共享的自定義類用戶對象的類名thread是共享對象實例的共享名如果SharedObjectRegister函數返回Success則新線程創建成功

  然後執行指定代碼有兩種方法讓新線程執行指定的代碼一種是在自定義類用戶對象的constructor事件中編寫腳本新線程創建後就會自動執行該事件腳本另一種方法是使用SharedObjectGet函數該函數實現共享對象實例的引用
SharedObjectGet ( thread inv_thread ) 其中inv_thread是用來存儲共享對象實例的一個對象變量要求與ccuo_thread具有同一個類名

  最後通過使用Post語句即以inv_threadPost of_function(agrs)的形式異步調用共享對象的函數of_function

  在完成任務後可以用SharedObjectUnregister函數中止線程也可用SharedObjectDirectory函數列出所有有效的共享對象

  函數調用部分

  本文所用Win API函數原型為
  Function Ulong FindWindowA ( String lpClassName String lpWindowName ) Library userdll
  Function Ulong GetTickCount ( ) Library kerneldll
  Function Ulong GetDesktopWindow ( ) Library userdll
  Function Boolean GetWindowRect ( Ulong hWnd ref stc_rect lpRect ) Library userdll
  Function Boolean MoveWindow ( Ulong hWnd int X int Y int nWidth int nHeight Boolean bRepaint ) Library userdll

  下面具體討論如何實現消息對話框的居中顯示

  //聲明對象變量
  ccuo_thread lccuo_thread

  //創建新線程
  SharedObjectRegister (ccuo_thread thread_center )

  //引用實例
  SharedObjectGet (thread_center lccuo_thread )

  //調用窗口居中函數
  lccuo_threadPost of_center ( Demostration )

  //創建消息對話框
  MessageBox ( Demostration Copyright(c) by YLSun )

  //中止線程
  SharedObjectunRegister ( thread_center )

[]  []  []  


From:http://tw.wingwit.com/Article/program/PB/201311/24548.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.