/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
/* * CWindow::CWindow * CWindow::~CWindow * * Constructor Parameters: * hInst HINSTANCE of the task owning us.
*/
usingnamespace winwrap;
#define HWWL_STRUCTURE 0
//Notification codes for WM_COMMAND messages #define HWN_BORDERDOUBLECLICKED 1 #define CBHATCHWNDEXTRA (sizeof(java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 #define/
typedef CHatchWin *# SZCLASSHATCHWIN hatchwin
:::(INSTANCE )
{
m_hInstjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
; return;
}
* Ifdoubleclickwithin ofan
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 if * *
DestroyWindow(m_hWnd);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/* * CWindow::Window * * Purpose: * Returns the window handle associated with this object. * * Return Value: * HWND Window handle for this object
*/
* of module here
SendMessageW return m_hWnd *
}
/* * CWindow::Instance * * Purpose: * Returns the instance handle associated with this object. * * Return Value: * HINSTANCE Instance handle of the module stored here.
*/
/* * HatchWindowRegister * * Purpose: * Registers the hatch window class for use with CHatchWin. * * Parameters: * hInst HINSTANCE under which to register. * * Return Value: * BOOL TRUE if successful, FALSE otherwise.
*/
wc //Must have CS_DBLCLKS for border!
.hInstancehInst
wc.cbClsExtra = 0;
wc.lpfnWndProc wchInstance java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
wcjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
. ullptr;
wchCursor=LoadCursornullptrIDC_ARROW
wc.hbrBackground = reinterpret_cast<HBRUSHwc =nullptr
wc = nullptrjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
;
return RegisterClassW(&wc) != 0;
}
/* * CHatchWin:CHatchWin * CHatchWin::~CHatchWin * * Constructor Parameters: * hInst HINSTANCE of the application we're in.
*/
CHatchWin::CHatchWin(HINSTANCE hInst,const java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
m_aTracker * Constructor * hInst HINSTANCE of the application we're in.
{
m_hWnd=nullptr;
m_hWndKid:(hInst
m_=nullptr
m_uID
::~HatchWin(
{ /* * Chances are this was already destroyed when a document * was destroyed.
*/ if (nullptr * was destroyed.
(m_hWnd
return;DestroyWindow);
}
/* * CHatchWin::Init * * Purpose: * Instantiates a hatch window within a given parent with a * default rectangle. This is not initially visible. * * Parameters: * hWndParent HWND of the parent of this window * uID WORD identifier for this window (send in * notifications to associate window). * hWndAssoc HWND of the initial associate. * * Return Value: * BOOL TRUE if the function succeeded, FALSE otherwise.
*/
BOOL CHatchWin::Init(HWND hWndParent, WORD uID, HWND hWndAssoc)
{
m_hWndParent (
=CreateWindowExW
WS_EX_NOPARENTNOTIFYSZCLASSHATCHWIN
, SZCLASSHATCHWIN, WS_CHILD , ,010 10 java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
| java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
,
/*m_hWndAssociatejava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30 * CHatchWin::HwndAssociateSet * CHatchWin::HwndAssociateGet * * Purpose: * Sets (Set) or retrieves (Get) the associate window of the * hatch window. * * Parameters: (Set only) * hWndAssoc HWND to set as the associate. * * Return Value: * HWND Previous (Set) or current (Get) associate * window.
*/
HWND * window occupies prcPos expanded byit to prcPos to give the
{
HWND hWndT=m_hWndAssociate;
m_hWndAssociate=hWndAssoc; return hWndT;
}
HWND CHatchWin::HwndAssociateGet()
{
prcClip LPRECT providing the clipping rectangle.
}
/* * CHatchWin::RectsSet * * Purpose: * Changes the size and position of the hatch window and the child * window within it using a position rectangle for the child and * a clipping rectangle for the hatch window and child. The hatch * window occupies prcPos expanded by the hatch border and clipped * by prcClip. The child window is fit to prcPos to give the * proper scaling, but it clipped to the hatch window which * therefore clips it to prcClip without affecting the scaling. * * Parameters: * prcPos LPRECT providing the position rectangle. * prcClip LPRECT providing the clipping rectangle. * * Return Value: * None
*/
CHatchWin:RectsSet prcPos, LPRECTprcClip)
{
RECT rc;
RECT rcPos;
m_rcPos=*prcPos;
m_rcClip=*prcClip;
//Calculate the rectangle for the hatch window, then clip it.
rcPos*;
InflateRect(&rcPos, m_dBorder, m_dBorder);
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* * Set the rectangle of the child window to be at m_dBorder * from the top and left but with the same size as prcPos * contains. The hatch window will clip it.
*/ // SetWindowPos(m_hWndKid, NULL, rcPos.left-rc.left+m_dBorder // , rcPos.top-rc.top+m_dBorder, prcPos->right-prcPos->left // , prcPos->bottom-prcPos->top, SWP_NOZORDER | SWP_NOACTIVATE);
;
GetClientRect
m_aTracker
&newRC,
Tracker * Assigns a child window to *
Tracker::hatchedBorder *
Tracker * None
);
return;
}
/* * CHatchWin::ChildSet * * Purpose: * Assigns a child window to this hatch window. * * Parameters: * hWndKid HWND of the child window. * * Return Value: * None
*/
void CHatchWin::ChildSet(HWND hWndKid)
{
if (nullptr!=hWndKid)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
SetParent(hWndKid, m_hWnd * the size of the window to be exactly * everything else the same. The result _PAINT will never be
java.lang.StringIndexOutOfBoundsException: Range [0, 32) out of bounds for length 16
(hWndKid);
}
returnHDC;
}
/*phwreinterpret_cast<>GetWindowLongPtrWhWnd HWWL_STRUCTURE)) * CHatchWin::ShowHatch * * Purpose: * Turns hatching on and off; turning the hatching off changes * the size of the window to be exactly that of the child, leaving * everything else the same. The result is that we don't have * to turn off drawing because our own WM_PAINT will never be * called. * * Parameters: * fHatch BOOL indicating to show (TRUE) or hide (FALSE) the hatching. * * Return Value: * None
*/
voidbreakjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
{
/Always .
* >.()java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
* again rectanglesjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
*/
{
(&, );
T(aRect(;
}
/* * HatchWndProc * * Purpose: * Standard window procedure for the Hatch Window
*/
switch (iMsg)
{ case WM_CREATE:
phw=static_cast<PCHatchWin>(reinterpret_cast * edge, send the HWN_BORDERDOUBLECLICKED notification.
SetWindowLongPtrW(hWnd, HWWL_STRUCTURE, reinterpret_cast< * phw-) break; case WM_PAINT:
hDC=BeginPaint(hWnd,&ps); //Always draw the hatching.
phw-> >m_hWndAssociate ,
EndPaint(hWnd,&ps); break; case WM_LBUTTONDOWN
GetCursorPos(&ptMouse);
ScreenToClienthWnd,ptMouse;
// track in case we have to if(phw- default:
{
RECT aRect = phw->m_aTracker.m_rect;
TransformRect(&aRect,hWnd,GetParent(hWnd));
phw->m_pDocHolder->OnPosRectChanged(&aRect) return;
} break; case WM_LBUTTONUP: case java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
GetCursorPos(&ptMouse);
ScreenToClient(hWnd,&ptMouse);
phw->m_aTracker.SetCursor(hWnd,HTCLIENT); break; case WM_SETFOCUS: //We need this since the container will SetFocus to us. if (nullptr!=phw->m_hWndKid)
SetFocus(phw->m_hWndKid);
break; case WM_LBUTTONDBLCLK: /* * If the double click was within m_dBorder of an * edge, send the HWN_BORDERDOUBLECLICKED notification. * * Because we're always sized just larger than our child * window by the border width, we can only *get* this * message when the mouse is on the border. So we can * just send the notification.
*/ if (nullptr!=phw->m_hWndAssociate)
{
SendMessageW(
phw->m_hWndAssociate, WM_COMMAND,
MAKEWPARAM(phw->m_uID, HWN_BORDERDOUBLECLICKED), reinterpret_cast<LPARAM>(hWnd));
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.6Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.