2010-03-31 17 views
6

Xin chào, tôi cần mô phỏng một ngăn tác vụ bằng cách thả một biểu mẫu vô dụng lên cửa sổ chính của Excel. Lý do của yêu cầu này là tôi cần phải có các tính năng của taskpane cho phần bổ trợ Excel của mình, nhưng không thể sử dụng mô hình tập trung vào tài liệu.Cần đặt một dạng không mod nổi trên cửa sổ chính excel (khung nhiệm vụ)

Có ai có thể đề xuất cách tốt nhất để làm điều này không? Dạng modeless sẽ cần phải phát hiện sự kiện thay đổi kích thước cửa sổ chính và thay đổi kích thước cho phù hợp, và cũng cần phải luôn luôn đặt chính nó ở dưới cùng của cửa sổ (giống như một khung docking).

Trả lời

0

Tôi sẽ chia sẻ những gì tôi đã tìm thấy cho đến nay. Một bài viết trong Dự án mã là rất nhiều thông tin, tôi nghĩ điều này sẽ giúp tôi tìm ra những gì tôi cần làm trong thời gian dài, mặc dù đó là về tích hợp bảng Outlook. Tôi không có thời gian để thực sự cố gắng và tích hợp các giải pháp được nêu dưới đây vào dự án Excel của tôi, nhưng ý tưởng được nêu trong bài viết có vẻ chắc chắn.

http://www.codeproject.com/KB/office/additional_panel_Outlook.aspx

Tôi sẽ cập nhật bài đăng khi tôi có thêm thông tin.

1

Có lẽ tôi không nắm bắt được câu hỏi, nhưng có vẻ như nếu bạn chỉ cần đặt thuộc tính ShowModal của biểu mẫu thành False, bạn sẽ nhận được những gì bạn muốn.

1

tôi ưa thích this method which is simple and straight forward:

Đây là cách tôi thực hiện nó (trong VB):

Public Class WindowWrapper 

    Implements System.Windows.Forms.IWin32Window 

    Private _hwnd As IntPtr 

    Public Sub New(ByVal handle As IntPtr) 
     _hwnd = handle 
    End Sub 

    Public ReadOnly Property Handle() As IntPtr Implements System.Windows.Forms.IWin32Window.Handle 
     Get 
      Return _hwnd 
     End Get 
    End Property 

End Class 

Dim owner As New WindowWrapper(CType(gXLApp.Hwnd, IntPtr)) 
gfTimeStamp = New FTimeStamp 
gfTimeStamp.Show(owner) 

Làm việc tuyệt vời!

Các vấn đề liên quan