- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
量化投资学习
This commit does not 量化投资学习 belong to any branch on this repository, and may belong to a fork outside of the repository.量化投资学习
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
Footer
© 2022 量化投资学习 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to 量化投资学习 refresh your session.
kissnono(塔.拉夏的灵魂)请进,关于datagrid多选!
Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
Dim 量化投资学习 posdg As Point = New Point(e.X, e.Y)
Dim hitDG As DataGrid.HitTestInfo = HitTest(posdg)
If HitDataGrid(hitDG) Then
MyBase.OnMouseDown(e)
End If
End Sub
Private Function HitDataGrid(ByVal Hit As DataGrid.HitTestInfo) As Boolean
Try
Select Case Me.ModifierKeys
Case Keys.Control
If Hit.Row > -1 Then
If m.IndexOf(Hit.Row) > -1 Then
m.Remove(Hit.Row)
Me.UnSelect(Hit.量化投资学习 Row)
Else
m.Add(Hit.Row)
Me.Select(Hit.Row)
End If
End If
Return False
Case 量化投资学习 Keys.Shift
If Hit.Row > -1 Then
For Each IndexOld As Integer In m
Me.UnSelect(量化投资学习 IndexOld)
Next
m.Clear()
Dim i, intStep As Integer
If Hit.Row > Me.CurrentRowIndex Then
intStep = 1
Else
intStep = -1
End If
For i = Me.CurrentRowIndex To Hit.Row 量化投资学习 Step intStep
m.Add(i)
Me.Select(i)
Next
End If
Return False
Case Else
For Each index As Integer In m
Me.UnSelect(index)
Next
m.Clear()
If Hit.Type = DataGrid.HitTestType.RowHeader Then
m.Add(Hit.Row)
End If
Return True
End Select
Catch ex As Exception
Debug.WriteLine(ex.ToString)
End Try
End Function
End Class
这次正确,上次的那个在ReadOnly从TRUE变为FALSE后,单击其他cell,选择的行不消失.
Public Class MyDataGridCLASS 量化投资学习
Inherits DataGrid
Private m As New ArrayList
Public ReadOnly Property MultiSelectedIndex() As Integer()
Get
Return m.ToArray(GetType(Integer))
End Get
End Property
Protected Overrides Sub OnMouseDown(ByVal e As System.Windows.Forms.MouseEventArgs)
Dim posdg As Point = New Point(e.X, e.Y)
Dim hitDG As DataGrid.HitTestInfo = HitTest(posdg)
If HitDataGrid(hitDG) Then
MyBase.OnMouseDown(e)
End If
End Sub
Private Function HitDataGrid(ByVal Hit As 量化投资学习 量化投资学习 DataGrid.HitTestInfo) As Boolean
Try
Select Case Me.ModifierKeys
Case Keys.Control
If Hit.Row > -1 量化投资学习 Then
If m.IndexOf(Hit.Row) > -1 Then
m.Remove(Hit.Row)
Me.UnSelect(Hit.Row)
Else
m.Add(Hit.Row)
Me.Select(Hit.Row)
End If
End If
Return False
Case Keys.Shift
If Hit.Row > -1 Then
For Each IndexOld As Integer In m
Me.UnSelect(IndexOld)
Next
m.Clear()
Dim i, intStep As Integer
If Hit.Row > Me.CurrentRowIndex Then
intStep 量化投资学习 = 1
Else
intStep = -1
End If
For i = Me.CurrentRowIndex To Hit.Row Step intStep
m.Add(i)
Me.Select(i)
Next
End If
Case Else
m.Clear()
If Hit.量化投资学习 Type = DataGrid.HitTestType.RowHeader Then
m.Add(Hit.Row)
End If
Return True
End Select
Catch ex As Exception
Debug.WriteLine(ex.ToString)
End Try
End Function
End Class
Getting started with uinput: the user level input subsystem
uinput is a linux kernel module that allows to handle the input subsystem from user land. It can be used to create and to handle input devices from an application. It creates a character device in /dev/input directory. The device is a virtual interface, it doesn't belong to a physical device.
In this document, we will see how to create a such input device and how it can be used.
1. Creating an input device
Once the uinput module is installed (量化投资学习 via modprobe or insmod), a character device is created, named as /dev/input/uinput (or /dev/uinput on some systems). This device represents the interface between the application and the kernel input subsystem.
To use uinput, we need to open the character device in write-only and non-blocking mode:
Now the device is opened, we will configure our input device. First, we need to inform the input subsystem which types of 量化投资学习 input event we want to use. Types of events are defined in /usr/include/linux/input.h :
/usr/include/linux/input.h
- EV_KEY type represents key press and release events,
- EV_REL type represents relative axis events (such as 量化投资学习 mouse movements),
- EV_ABS type represents absolute axis events (such as touchscreen movements),
- …
The ioctl request UI_SET_EVBIT applied on the uinput file descriptor is used to enable a type of event. The two following lines enable key press/release and synchronization events.
When enabling EV_KEY events, we need to describe which keycodes are allowed to be sent via the input subsystem.
As linux/input.h defines the '量化投资学习 d' key as KEY_D , we can enable the keycode representing the 'd' key by using:
Now some basic features have been enabled, we need to finish the configuration by using the struct uinput_user_dev from linux/uinput.h . This structure is defined as:
/usr/include/linux/uinput.h
The most important fields are:量化投资学习
- name is the given name to the input device we will create,
- id is a linux internal structure that describes the device bustype, vendor id, product id and version,
- absmin and 量化投资学习 量化投资学习 absmax are integer array that defines mininal and maximal values for an absolute axis (i.e absmin[ABS_X] = 0 , absmax[ABS_X] = 1024 for the X axis on a touchscreen device).
Now, we can 量化投资学习 fill this structure with appropriate values:
Then, we write this structure in the uinput file descriptor.
Last step is to request the creation of the device via the UI_DEV_CREATE ioctl request on the file descriptor:
Now, the file descriptor fd represents the end-point file descriptor of the new input device.
2. Injecting events in the input subsystem
The following block code injects a key press event in the 量化投资学习 input subsystem. The input_event structure contains 3 important fields:
- type : is an event type ( EV_KEY , EV_ABS , EV_REL , . ),
- code : could be either a key code when using EV_KEY , or an axis for EV_ABS 量化投资学习 and EV_REL ,
- value : may be 1 (press) or 0 (release) for EV_KEY , or any values for 量化投资学习 others (positive integer for EV_ABS , signed integer for EV_REL , etc…).
To inject a press event on the 'd' key:
3. Destroying an input device
4. Handling absolute axis events
If we want to inject absolute events, we first need to activate EV_ABS event and the desired axes support with ioctl 量化投资学习 requests. The following ioctl requests enable X and Y absolute axes:
Then we need to defined a range of values for each axis with absmin and absmax fields from the uinput_user_dev structure:
New SAPGUI 7.30 for Windows has been released !!
SAP GUI for Windows 7.30 is the successor 量化投资学习 to SAP GUI for Windows 7.20 which will be out of of support as of 9th 量化投资学习 of April 2013. With the new release SAP GUI for Windows was carefully improved to provide the end-user with an interface where information is presented in a logical and easy-to-understand way. Several visual and usability improvements have been implemented to help users organize and complete their daily work quickly and 量化投资学习 efficiently.
The new SAP GUI for Windows 7.30 was shipped on 26th of June 2012 and 量化投资学习 量化投资学习 introduces the following useful enhancements:
- Corbu Design: A new SAP GUI design is available: The Corbu Design. This design comes with a reduced contrast when compared to SAP Signature Design and improves the integration of SAP GUI into other SAP components like NWBC which also offer Corbu Designs. 量化投资学习
- Signature Color Themes: New color themes can be applied system and client specific: Users are enabled to easily select different Signature color themes for test, development or productive systems and clients etc. This leads 量化投资学习 量化投资学习 to a clear overview over the system landscape.
- Branding Area: A company specific logo (corporate branding, product branding) can be embedded into the top right corner of the SAP screen. This new 量化投资学习 branding area will help administrators to generate additional corporate communication and corporate identity. It can be used in SAP Signature Design and in Corbu Design.
- Floating Docking Containers: Docking containers can be positioned individually by end users. Dragging the container with the mouse to north, west, east or south positions helps adjusting the screen layout for individual needs.
- Personalized TAB Order: Users can define their 量化投资学习 own TAB order within SAP screens. The new TAB order allows users to jump to the next 量化投资学习 量化投资学习 screen element of interest. Screen elements not included in the TAB order can still be accessed by mouse clicks.
- System Comments in SAP Logon: In SAP Logon users can add system specific 量化投资学习 notes or information. This new edit area will help users to manage and comment the system landscape.
- SNC indication icon in the status bar: A small icon in the SAP GUI status bar indicates whether the connection between SAP GUI and application server is secured (SNC is activated) or not.量化投资学习
An up-to-date list of new features is available in SAP note 1670678.
See below for an 量化投资学习 image explaining some of the new, exciting features of release 7.30!
Lifecycle information:
- Delivery: 26th 量化投资学习 量化投资学习 of June 2012 (“Productive Release” & “Default Release”)
- End of maintenance: 15th of July 2015 (end of support for Microsoft Visual Studio 2010)
- Please note that SAP GUI for Windows 7.20 量化投资学习 will be out of maintenance as of 09th of April 2012 – therefore we recommend to start planning your upgrade to release 7.30 soon after the delivery of the new release.
More 量化投资学习 detailed information on the lifecycle of SAP GUI can be found in SAP note 147519.
Supported platforms:量化投资学习
- Windows XP / 2003 Server
- Windows Vista (only “Business”, “Ultimate” and “Enterprise” editions) / Windows 2008 量化投资学习 Server
- Windows 7 (only “Business”, “Ultimate” and “Enterprise” editions) / Windows 2008 R2 Server
- Windows 8: 量化投资学习 Under evaluation (planned to be supported as of SAP GUI for Windows 7.30)
More detailed information on the platforms supported by SAP GUI can be found in SAP note 66971.
Various other pieces 量化投资学习 of information related to SAP GUI can be found on the SAP GUI Homepage in SAP SCN.