您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GetBuddyHwnd函数代码示例

51自学网 2021-06-01 21:04:28
  C++
这篇教程C++ GetBuddyHwnd函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GetBuddyHwnd函数的典型用法代码示例。如果您正苦于以下问题:C++ GetBuddyHwnd函数的具体用法?C++ GetBuddyHwnd怎么用?C++ GetBuddyHwnd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GetBuddyHwnd函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: wxGetClientRect

void wxSpinCtrl::DoGetClientSize(int *x, int *y) const{    RECT spinrect = wxGetClientRect(GetHwnd());    RECT textrect = wxGetClientRect(GetBuddyHwnd());    RECT ctrlrect;    UnionRect(&ctrlrect,&textrect, &spinrect);    if ( x )        *x = ctrlrect.right - ctrlrect.left;    if ( y )        *y = ctrlrect.bottom - ctrlrect.top;}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:12,


示例2: GetWindowRect

// get total size of the controlvoid wxSpinCtrl::DoGetSize(int *x, int *y) const{    RECT spinrect, textrect, ctrlrect;    GetWindowRect(GetHwnd(), &spinrect);    GetWindowRect(GetBuddyHwnd(), &textrect);    UnionRect(&ctrlrect,&textrect, &spinrect);    if ( x )        *x = ctrlrect.right - ctrlrect.left;    if ( y )        *y = ctrlrect.bottom - ctrlrect.top;}
开发者ID:vdm113,项目名称:wxWidgets-ICC-patch,代码行数:13,


示例3: GetSize

bool wxSpinCtrl::Reparent(wxWindowBase *newParent){    // Reparenting both the updown control and its buddy does not seem to work:    // they continue to be connected somehow, but visually there is no feedback    // on the buddy edit control. To avoid this problem, we reparent the buddy    // window normally, but we recreate the updown control and reassign its    // buddy.    if ( !wxWindowBase::Reparent(newParent) )        return false;    newParent->GetChildren().DeleteObject(this);    // preserve the old values    const wxSize size = GetSize();    int value = GetValue();    const wxRect btnRect = wxRectFromRECT(wxGetWindowRect(GetHwnd()));    // destroy the old spin button    UnsubclassWin();    if ( !::DestroyWindow(GetHwnd()) )        wxLogLastError(wxT("DestroyWindow"));    // create and initialize the new one    if ( !wxSpinButton::Create(GetParent(), GetId(),                               btnRect.GetPosition(), btnRect.GetSize(),                               GetWindowStyle(), GetName()) )        return false;    SetValue(value);    SetRange(m_min, m_max);    SetInitialSize(size);    // associate it with the buddy control again    ::SetParent(GetBuddyHwnd(), GetHwndOf(GetParent()));    (void)::SendMessage(GetHwnd(), UDM_SETBUDDY, (WPARAM)GetBuddyHwnd(), 0);    return true;}
开发者ID:georgemoralis,项目名称:jpcsp2c,代码行数:39,


示例4: wxCHECK_MSG

int wxChoice::DoInsert(const wxString& item, int pos){    wxCHECK_MSG(!(GetWindowStyle() & wxCB_SORT), -1, wxT("can't insert into choice"));    wxCHECK_MSG((pos>=0) && (pos<=GetCount()), -1, wxT("invalid index"));    int n = (int)::SendMessage(GetBuddyHwnd(), LB_INSERTSTRING, pos, (LPARAM)item.c_str());    if ( n == LB_ERR )    {        wxLogLastError(wxT("SendMessage(LB_INSERTSTRING)"));    }    return n;}
开发者ID:project-renard-survey,项目名称:chandler,代码行数:13,


示例5: wxUpdateEditLayoutDirection

void wxSpinCtrl::SetLayoutDirection(wxLayoutDirection dir){#ifndef __WXWINCE__    // Buddy text field is plain EDIT control so we need to set its layout    // direction in a specific way.    wxUpdateEditLayoutDirection(GetBuddyHwnd(), dir);#endif // !__WXWINCE__    wxSpinButton::SetLayoutDirection(dir);    // Reposition the child windows according to the new layout.    SetSize(-1, -1, -1, -1, wxSIZE_AUTO | wxSIZE_FORCE);}
开发者ID:EEmmanuel7,项目名称:wxWidgets,代码行数:13,


示例6: GetFont

bool wxSpinCtrl::SetFont(const wxFont& font){    if ( !wxWindowBase::SetFont(font) )    {        // nothing to do        return false;    }    WXHANDLE hFont = GetFont().GetResourceHandle();    (void)::SendMessage(GetBuddyHwnd(), WM_SETFONT, (WPARAM)hFont, TRUE);    return true;}
开发者ID:georgemoralis,项目名称:jpcsp2c,代码行数:13,


示例7: AdjustSpaceLimit

bool wxTextCtrl::AdjustSpaceLimit(){    unsigned int limit = ::SendMessage(GetBuddyHwnd(), EM_GETLIMITTEXT, 0, 0);    // HACK: we try to automatically extend the limit for the amount of text    //       to allow (interactively) entering more than 64Kb of text under    //       Win9x but we shouldn't reset the text limit which was previously    //       set explicitly with SetMaxLength()    //    //       we could solve this by storing the limit we set in wxTextCtrl but    //       to save space we prefer to simply test here the actual limit    //       value: we consider that SetMaxLength() can only be called for    //       values < 32Kb    if ( limit < 0x8000 )    {        // we've got more text than limit set by SetMaxLength()        return false;    }    unsigned int len = ::GetWindowTextLength(GetBuddyHwnd());    if ( len >= limit )    {        limit = len + 0x8000;    // 32Kb        if ( limit > 0xffff )        {            // this will set it to a platform-dependent maximum (much more            // than 64Kb under NT)            limit = 0;        }        ::SendMessage(GetBuddyHwnd(), EM_LIMITTEXT, limit, 0L);    }    // we changed the limit    return true;}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:37,


示例8: SetValue

void  wxSpinCtrl::SetValue(int val){    wxSpinButton::SetValue(val);    // normally setting the value of the spin button is enough as it updates    // its buddy control automatically ...    if ( wxGetWindowText(m_hwndBuddy).empty() )    {        // ... but sometimes it doesn't, notably when the value is 0 and the        // text control is currently empty, the spin button seems to be happy        // to leave it like this, while we really want to always show the        // current value in the control, so do it manually        ::SetWindowText(GetBuddyHwnd(), wxString::Format(_T("%d"), val));    }    m_oldValue = GetValue();}
开发者ID:georgemoralis,项目名称:jpcsp2c,代码行数:17,


示例9: AdoptAttributesFromHWND

// Make sure the window style (etc.) reflects the HWND style (roughly)void wxTextCtrl::AdoptAttributesFromHWND(){    wxWindow::AdoptAttributesFromHWND();    long style = ::GetWindowLong(GetBuddyHwnd(), GWL_STYLE);    if (style & ES_MULTILINE)        m_windowStyle |= wxTE_MULTILINE;    if (style & ES_PASSWORD)        m_windowStyle |= wxTE_PASSWORD;    if (style & ES_READONLY)        m_windowStyle |= wxTE_READONLY;    if (style & ES_WANTRETURN)        m_windowStyle |= wxTE_PROCESS_ENTER;    if (style & ES_CENTER)        m_windowStyle |= wxTE_CENTRE;    if (style & ES_RIGHT)        m_windowStyle |= wxTE_RIGHT;}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:20,


示例10: GetBestSpinnerSize

void wxTextCtrl::DoMoveWindow(int x, int y, int width, int height){    int widthBtn = GetBestSpinnerSize(IsVertical(GetWindowStyle())).x / 2;    int widthText = width - widthBtn - MARGIN_BETWEEN;    if ( widthText <= 0 )    {        wxLogDebug(_T("not enough space for wxSpinCtrl!"));    }    if ( !::MoveWindow(GetBuddyHwnd(), x, y, widthText, height, TRUE) )    {        wxLogLastError(wxT("MoveWindow(buddy)"));    }    x += widthText + MARGIN_BETWEEN;    if ( !::MoveWindow(GetHwnd(), x, y, widthBtn, height, TRUE) )    {        wxLogLastError(wxT("MoveWindow"));    }}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:20,


示例11: wxGetCharSize

wxSize wxTextCtrl::DoGetBestSize() const{    int cx, cy;    wxGetCharSize(GetBuddyHwnd(), &cx, &cy, GetFont());    int wText = DEFAULT_ITEM_WIDTH;    int hText = cy;    if ( m_windowStyle & wxTE_MULTILINE )    {        hText *= wxMax(GetNumberOfLines(), 5);    }    //else: for single line control everything is ok    // we have to add the adjustments for the control height only once, not    // once per line, so do it after multiplication above    hText += EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy) - cy;    return wxSize(wText, hText);}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:20,


示例12: SetEditable

void wxTextCtrl::SetEditable(bool editable){    ::SendMessage(GetBuddyHwnd(), EM_SETREADONLY, (WPARAM)!editable, (LPARAM)0L);}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例13: SetWindowStyle

bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,                        const wxString& value,                        const wxPoint& pos,                        const wxSize& size,                        long style,                        const wxValidator& validator,                        const wxString& name){    if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )        style |= wxBORDER_SIMPLE;    SetWindowStyle(style);    WXDWORD exStyle = 0;    WXDWORD msStyle = MSWGetStyle(GetWindowStyle(), & exStyle) ;    wxSize sizeText(size), sizeBtn(size);    sizeBtn.x = GetBestSpinnerSize(IsVertical(style)).x / 2;    if ( sizeText.x == wxDefaultCoord )    {        // DEFAULT_ITEM_WIDTH is the default width for the text control        sizeText.x = DEFAULT_ITEM_WIDTH + MARGIN_BETWEEN + sizeBtn.x;    }    sizeText.x -= sizeBtn.x + MARGIN_BETWEEN;    if ( sizeText.x <= 0 )    {        wxLogDebug(_T("not enough space for wxSpinCtrl!"));    }    wxPoint posBtn(pos);    posBtn.x += sizeText.x + MARGIN_BETWEEN;    // we need to turn '/n's into "/r/n"s for the multiline controls    wxString valueWin;    if ( m_windowStyle & wxTE_MULTILINE )    {        valueWin = wxTextFile::Translate(value, wxTextFileType_Dos);    }    else // single line    {        valueWin = value;    }    // we must create the list control before the spin button for the purpose    // of the dialog navigation: if there is a static text just before the spin    // control, activating it by Alt-letter should give focus to the text    // control, not the spin and the dialog navigation code will give focus to    // the next control (at Windows level), not the one after it    // create the text window    m_hwndBuddy = (WXHWND)::CreateWindowEx                    (                     exStyle,                // sunken border                     _T("EDIT"),             // window class                     valueWin,               // no window title                     msStyle,                // style (will be shown later)                     pos.x, pos.y,           // position                     0, 0,                   // size (will be set later)                     GetHwndOf(parent),      // parent                     (HMENU)-1,              // control id                     wxGetInstance(),        // app instance                     NULL                    // unused client data                    );    if ( !m_hwndBuddy )    {        wxLogLastError(wxT("CreateWindow(buddy text window)"));        return false;    }    // initialize wxControl    if ( !CreateControl(parent, id, posBtn, sizeBtn, style, validator, name) )        return false;    // now create the real HWND    WXDWORD spiner_style = WS_VISIBLE |                           UDS_ALIGNRIGHT |                           UDS_EXPANDABLE |                           UDS_NOSCROLL;    if ( !IsVertical(style) )        spiner_style |= UDS_HORZ;    if ( style & wxSP_WRAP )        spiner_style |= UDS_WRAP;    if ( !MSWCreateControl(UPDOWN_CLASS, spiner_style, posBtn, sizeBtn, _T(""), 0) )        return false;    // subclass the text ctrl to be able to intercept some events    wxSetWindowUserData(GetBuddyHwnd(), this);    m_wndProcBuddy = (WXFARPROC)wxSetWindowProc(GetBuddyHwnd(),                                                wxBuddyTextCtrlWndProc);    // set up fonts and colours  (This is nomally done in MSWCreateControl)    InheritAttributes();//.........这里部分代码省略.........
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:101,


示例14: return

int wxChoice::GetSelection() const{    return (int)::SendMessage(GetBuddyHwnd(), LB_GETCURSEL, 0, 0);}
开发者ID:project-renard-survey,项目名称:chandler,代码行数:4,


示例15: Free

void wxChoice::Clear(){    Free();    ::SendMessage(GetBuddyHwnd(), LB_RESETCONTENT, 0, 0);}
开发者ID:project-renard-survey,项目名称:chandler,代码行数:6,


示例16: MarkDirty

void wxTextCtrl::MarkDirty(){    ::SendMessage(GetBuddyHwnd(), EM_SETMODIFY, TRUE, 0L);}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例17: return

int wxTextCtrl::GetNumberOfLines() const{    return (int)::SendMessage(GetBuddyHwnd(), EM_GETLINECOUNT, 0, 0L);}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例18: GetInsertionPoint

long wxTextCtrl::GetInsertionPoint() const{    DWORD Pos = (DWORD)::SendMessage(GetBuddyHwnd(), EM_GETSEL, 0, 0L);    return Pos & 0xFFFF;}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:5,


示例19: SetWindowStyle

bool wxSpinCtrl::Create(wxWindow *parent,                        wxWindowID id,                        const wxString& value,                        const wxPoint& pos,                        const wxSize& size,                        long style,                        int min, int max, int initial,                        const wxString& name){    // this should be in ctor/init function but I don't want to add one to 2.8    // to avoid problems with default ctor which can be inlined in the user    // code and so might not get this fix without recompilation    m_oldValue = INT_MIN;    // before using DoGetBestSize(), have to set style to let the base class    // know whether this is a horizontal or vertical control (we're always    // vertical)    style |= wxSP_VERTICAL;    if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )#ifdef __WXWINCE__        style |= wxBORDER_SIMPLE;#else        style |= wxBORDER_SUNKEN;#endif    SetWindowStyle(style);    WXDWORD exStyle = 0;    WXDWORD msStyle = MSWGetStyle(GetWindowStyle(), & exStyle) ;    // calculate the sizes: the size given is the toal size for both controls    // and we need to fit them both in the given width (height is the same)    wxSize sizeText(size), sizeBtn(size);    sizeBtn.x = wxSpinButton::DoGetBestSize().x;    if ( sizeText.x <= 0 )    {        // DEFAULT_ITEM_WIDTH is the default width for the text control        sizeText.x = DEFAULT_ITEM_WIDTH + MARGIN_BETWEEN + sizeBtn.x;    }    sizeText.x -= sizeBtn.x + MARGIN_BETWEEN;    if ( sizeText.x <= 0 )    {        wxLogDebug(_T("not enough space for wxSpinCtrl!"));    }    wxPoint posBtn(pos);    posBtn.x += sizeText.x + MARGIN_BETWEEN;    // we must create the text control before the spin button for the purpose    // of the dialog navigation: if there is a static text just before the spin    // control, activating it by Alt-letter should give focus to the text    // control, not the spin and the dialog navigation code will give focus to    // the next control (at Windows level), not the one after it    // create the text window    m_hwndBuddy = (WXHWND)::CreateWindowEx                    (                     exStyle,                // sunken border                     _T("EDIT"),             // window class                     NULL,                   // no window title                     msStyle,                // style (will be shown later)                     pos.x, pos.y,           // position                     0, 0,                   // size (will be set later)                     GetHwndOf(parent),      // parent                     (HMENU)-1,              // control id                     wxGetInstance(),        // app instance                     NULL                    // unused client data                    );    if ( !m_hwndBuddy )    {        wxLogLastError(wxT("CreateWindow(buddy text window)"));        return false;    }    // create the spin button    if ( !wxSpinButton::Create(parent, id, posBtn, sizeBtn, style, name) )    {        return false;    }    wxSpinButtonBase::SetRange(min, max);    // subclass the text ctrl to be able to intercept some events    wxSetWindowUserData(GetBuddyHwnd(), this);    m_wndProcBuddy = (WXFARPROC)wxSetWindowProc(GetBuddyHwnd(),                                                wxBuddyTextWndProc);    // set up fonts and colours  (This is nomally done in MSWCreateControl)    InheritAttributes();    if (!m_hasFont)        SetFont(GetDefaultAttributes().font);    // set the size of the text window - can do it only now, because we    // couldn't call DoGetBestSize() before as font wasn't set//.........这里部分代码省略.........
开发者ID:georgemoralis,项目名称:jpcsp2c,代码行数:101,


示例20: SetWindowStyle

bool wxSpinCtrl::Create(wxWindow *parent,                        wxWindowID id,                        const wxString& value,                        const wxPoint& pos,                        const wxSize& size,                        long style,                        int min, int max, int initial,                        const wxString& name){    // before using DoGetBestSize(), have to set style to let the base class    // know whether this is a horizontal or vertical control (we're always    // vertical)    style |= wxSP_VERTICAL;    if ( (style & wxBORDER_MASK) == wxBORDER_DEFAULT )#ifdef __WXWINCE__        style |= wxBORDER_SIMPLE;#else        style |= wxBORDER_SUNKEN;#endif    SetWindowStyle(style);    WXDWORD exStyle = 0;    WXDWORD msStyle = MSWGetStyle(GetWindowStyle(), & exStyle) ;    // Scroll text automatically if there is not enough space to show all of    // it, this is better than not allowing to enter more digits at all.    msStyle |= ES_AUTOHSCROLL;    // propagate text alignment style to text ctrl    if ( style & wxALIGN_RIGHT )        msStyle |= ES_RIGHT;    else if ( style & wxALIGN_CENTER )        msStyle |= ES_CENTER;    // calculate the sizes: the size given is the total size for both controls    // and we need to fit them both in the given width (height is the same)    wxSize sizeText(size), sizeBtn(size);    sizeBtn.x = wxSpinButton::DoGetBestSize().x;    if ( sizeText.x <= 0 )    {        // DEFAULT_ITEM_WIDTH is the default width for the text control        sizeText.x = DEFAULT_ITEM_WIDTH + MARGIN_BETWEEN + sizeBtn.x;    }    sizeText.x -= sizeBtn.x + MARGIN_BETWEEN;    if ( sizeText.x <= 0 )    {        wxLogDebug(wxT("not enough space for wxSpinCtrl!"));    }    wxPoint posBtn(pos);    posBtn.x += sizeText.x + MARGIN_BETWEEN;    // we must create the text control before the spin button for the purpose    // of the dialog navigation: if there is a static text just before the spin    // control, activating it by Alt-letter should give focus to the text    // control, not the spin and the dialog navigation code will give focus to    // the next control (at Windows level), not the one after it    // create the text window    m_hwndBuddy = (WXHWND)::CreateWindowEx                    (                     exStyle,                // sunken border                     wxT("EDIT"),             // window class                     NULL,                   // no window title                     msStyle,                // style (will be shown later)                     pos.x, pos.y,           // position                     0, 0,                   // size (will be set later)                     GetHwndOf(parent),      // parent                     (HMENU)-1,              // control id                     wxGetInstance(),        // app instance                     NULL                    // unused client data                    );    if ( !m_hwndBuddy )    {        wxLogLastError(wxT("CreateWindow(buddy text window)"));        return false;    }    // create the spin button    if ( !wxSpinButton::Create(parent, id, posBtn, sizeBtn, style, name) )    {        return false;    }    wxSpinButtonBase::SetRange(min, max);    // subclass the text ctrl to be able to intercept some events    gs_spinForTextCtrl[GetBuddyHwnd()] = this;    m_wndProcBuddy = (WXFARPROC)wxSetWindowProc(GetBuddyHwnd(),                                                wxBuddyTextWndProc);    // set up fonts and colours  (This is nomally done in MSWCreateControl)//.........这里部分代码省略.........
开发者ID:krossell,项目名称:wxWidgets,代码行数:101,


示例21: SetSelection

void wxChoice::SetSelection(int n){    ::SendMessage(GetBuddyHwnd(), LB_SETCURSEL, n, 0);}
开发者ID:project-renard-survey,项目名称:chandler,代码行数:4,


示例22: IsModified

bool wxTextCtrl::IsModified() const{    return ::SendMessage(GetBuddyHwnd(), EM_GETMODIFY, 0, 0) != 0;}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例23: SetMaxLength

void wxTextCtrl::SetMaxLength(unsigned long len){    ::SendMessage(GetBuddyHwnd(), EM_LIMITTEXT, len, 0);}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例24: DiscardEdits

void wxTextCtrl::DiscardEdits(){    ::SendMessage(GetBuddyHwnd(), EM_SETMODIFY, FALSE, 0L);}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例25: wxCHECK_RET

void wxChoice::DoDeleteOneItem(unsigned int n){    wxCHECK_RET( IsValid(n), wxT("invalid item index in wxChoice::Delete") );    ::SendMessage(GetBuddyHwnd(), LB_DELETESTRING, n, 0);}
开发者ID:BloodRedd,项目名称:gamekit,代码行数:6,


示例26: GetLengthOfLineContainingPos

long wxTextCtrl::GetLengthOfLineContainingPos(long pos) const{    return ::SendMessage(GetBuddyHwnd(), EM_LINELENGTH, (WPARAM)pos, 0L);}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例27: DoClear

void wxChoice::DoClear(){    ::SendMessage(GetBuddyHwnd(), LB_RESETCONTENT, 0, 0);}
开发者ID:BloodRedd,项目名称:gamekit,代码行数:4,


示例28: CanRedo

bool wxTextCtrl::CanRedo() const{    return ::SendMessage(GetBuddyHwnd(), EM_CANUNDO, 0, 0) != 0;}
开发者ID:ACanadianKernel,项目名称:pcsx2,代码行数:4,


示例29: SetFocus

void wxSpinCtrl::SetFocus(){    ::SetFocus(GetBuddyHwnd());}
开发者ID:georgemoralis,项目名称:jpcsp2c,代码行数:4,



注:本文中的GetBuddyHwnd函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GetBuffer函数代码示例
C++ GetBox函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。