Weil Jimmer's BlogWeil Jimmer's Blog


Category:Functions

Found 36 records. At Page 6 / 8.

Java MessageBox

No Comments
-
發布於 2015-05-17 14:21:05

private void msg_box(String title, String msg)    {
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
    alertDialog.setTitle(title);
    //alertDialog.setPositiveButton("OK", this);
    //alertDialog.setNegativeButton("Cancel", this);
    alertDialog.setMessage(msg);
    alertDialog.show();
}
Java

 


This entry was posted in Functions, Java By Weil Jimmer.

Android Java 程式設計「設定/保存數據」

No Comments
-
發布於 2015-05-17 14:14:56

使用 getSharedPreferences 函數儲存數據。

APP_NAME 改成 想設計的名稱,如:org.twgogo.wbf.Code_.web_browser

public boolean set_config(String str,String name_){
    SharedPreferences sharedPref = getSharedPreferences("APP_NAME", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPref.edit();
    editor.putString(name_, str);
    editor.apply();
    return true;
}
Java
public String read_config(String name_){
     SharedPreferences sharedPref = getSharedPreferences("APP_NAME", MODE_PRIVATE);
     return sharedPref.getString(name_,"NULL");
 }
Java

 


This entry was posted in Experience, Functions, Java By Weil Jimmer.

RichTextbox Scroll Smooth 平滑滾動 VB.NET

No Comments
-
發布於 2015-05-13 19:22:04

簡言之,RichTextBox 若裡面包含圖片的話(比如用剪貼簿的方法貼上RTF格式圖片),滾動就會顯得很有問題,不管是用右邊的滾動條上鍵、下鍵移動,或是用滑鼠滾輪滾動,都會「快速跳躍圖片」,意指:把圖片當成「一行文字」看待,尤其是當圖片很長(Height大於RichTextBox的高)的時候,而且又多張圖片,快速滾動就有可能發生,但問題是,我去網路上查很多資料都沒查到有什麼方法可以修正,當然是希望能用一行Code,就解決這個問題,不然滾動圖片「咻」一下就不見了,已經滾到最下面了,根本爛透了。

本方法以Vb.net Code為例,原代碼從網路上查到是 C#.Net,但是原代碼是按下按鈕自動平滑滾到最下面,而我這個是依照滑鼠滾輪而去做上下正常平滑滾動,意思是指修正滑鼠的快速滾動問題,稍微修改了原代碼,原本想貼上引用的地址,不過都關掉網頁,懶得查記錄了,好吧,也算是原創,因為有些還是我自己再添加的。

要先創建一個 Timer,代碼中 ID 為「Scroll_timer」。其餘不解釋,看代碼就明白。

Private min, max As Integer
Private pos As Integer = 0
Private endPos As Integer = 0
Private Const SB_HORZ As Integer = &H0
Private Const SB_VERT As Integer = &H1
Private Const WM_HSCROLL As Integer = &H114
Private Const WM_VSCROLL As Integer = &H115
Private Const SB_THUMBPOSITION As Integer = 4
Private Const WM_SETREDRAW As Int32 = &HB
Private scroll_speed As Integer = 20

Private Declare Function SetScrollPos Lib "user32" (hwnd As IntPtr, nBar As Integer, nPos As Integer, bRedraw As Boolean) As Integer
Private Declare Function GetScrollPos Lib "user32" (hwnd As IntPtr, nBar As Integer) As Integer
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (hwnd As IntPtr, nBar As Integer, wParam As Integer, lParam As Integer) As Integer
Private Declare Function GetScrollRange Lib "user32" (hwnd As IntPtr, nBar As Integer, ByRef lpMinPos As Integer, ByRef lpMaxPos As Integer) As Boolean
Private Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal wMsg As Int32, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr


Private Sub Scroll_timer_Tick(sender As Object, e As EventArgs) Handles Scroll_timer.Tick

    GetScrollRange(RichTextBox1.Handle, SB_VERT, min, max)
    max = max - RichTextBox1.ClientSize.Height
    pos = GetScrollPos(RichTextBox1.Handle, SB_VERT)
    Debug.WriteLine("Max=" & max & "--Min=" & min & "--Current=" & pos)
    If Scroll_timer.Tag = "down" Then
        If (pos >= endPos) Then
            Me.Scroll_timer.Enabled = False
            Exit Sub
        End If
        If endPos >= max Then
            endPos = max
        End If
        pos = pos + scroll_speed
        SetScrollPos(RichTextBox1.Handle, SB_VERT, pos, True)
        PostMessage(RichTextBox1.Handle, WM_VSCROLL, SB_THUMBPOSITION + &H10000 * pos, 0)
    Else
        If endPos <= 1 Then
            endPos = 1
        End If
        If (pos <= endPos) Then
            Me.Scroll_timer.Enabled = False
            Exit Sub
        End If
        If (pos - scroll_speed) < 1 Then
            pos = 0
        Else
            pos = pos - scroll_speed
        End If
        SetScrollPos(RichTextBox1.Handle, SB_VERT, pos, True)
        PostMessage(RichTextBox1.Handle, WM_VSCROLL, SB_THUMBPOSITION + &H10000 * pos, 0)
    End If
End Sub

Private Sub RichTextBox1_MouseWheel_Click(sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RichTextBox1.MouseWheel
    Dim temp As HandledMouseEventArgs = e
    temp.Handled = True
    Dim temp_pos = GetScrollPos(RichTextBox1.Handle, SB_VERT)
    If Scroll_timer.Enabled = True Then
        temp_pos = endPos
    Else
    End If
    If e.Delta > 0 Then
        Debug.WriteLine("Scrolled up!" & e.Delta)
        GetScrollRange(RichTextBox1.Handle, SB_VERT, min, max)
        endPos = temp_pos - e.Delta
        If endPos <= 1 Then
            endPos = 1
        End If
        Debug.WriteLine(endPos)
        Scroll_timer.Tag = "up"
        Me.Scroll_timer.Enabled = True
    Else
        Debug.WriteLine("Scrolled down!" & e.Delta & "--Current: " & temp_pos)
        GetScrollRange(RichTextBox1.Handle, SB_VERT, min, max)
        max = max - RichTextBox1.ClientSize.Height
        If temp_pos + Math.Abs(e.Delta) >= max Then
            endPos = max - 1
        Else
            endPos = temp_pos + Math.Abs(e.Delta) - 1
        End If
        Debug.WriteLine(endPos)
        Scroll_timer.Tag = "down"
        Me.Scroll_timer.Enabled = True
    End If
End Sub
BASIC

 


This entry was posted in Functions, VB.NET By Weil Jimmer.

雙重緩衝DataGridView

No Comments
-
發布於 2015-04-26 12:54:37

Function DoubleBufferedx(ByVal dgv As DataGridView, ByVal setting As Boolean)
    Dim dgvType As Type = dgv.GetType()
    Dim pi As System.Reflection.PropertyInfo = dgvType.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
    pi.SetValue(dgv, setting, Nothing)
    Return True
End Function
BASIC

僅此作為筆記。


This entry was posted in Functions, VB.NET By Weil Jimmer.

當重新調整表單大小時「有效」降低閃爍 C# VB.Net

No Comments
-
更新於 2015-04-26 12:43:59

從前,總是使用雙重緩衝,但是這方法不管用,閃爍還是嚴重!自從stackoverflow找到一個很棒的方法後!非常有效!僅此作為筆記。

protected override CreateParams CreateParams {
  get {
    CreateParams cp = base.CreateParams;
    cp.ExStyle |= 0x02000000;  // Turn on WS_EX_COMPOSITED
    return cp;
  }
}
C#
Protected Overrides ReadOnly Property CreateParams() As CreateParams
    Get
        Dim params As CreateParams = MyBase.CreateParams
        params.ExStyle = params.ExStyle Or &H2000000
        Return params
    End Get
End Property
BASIC

轉自:http://stackoverflow.com/questions/2612487/how-to-fix-the-flickering-in-user-controls


This entry was posted in General, Functions, VB.NET By Weil Jimmer.

最前頁 上一頁  1 2 3 4 5 6 7 8 /8 頁)下一頁 最終頁

Visitor Count

pop
nonenonenone

Note

不要和愚蠢的人發生爭執。

支持網路中立性.
Support Net Neutrality.

支持臺灣實施
無條件基本收入

今天是世界無童工日。

Quotes

我一定會老。

我一定會病。

我一定會死。

人生終須一別。

我們是業的主人。

Search

Music

Life Counter

23089days

14 hours 27 minutes 12 seconds

Breaths between now and when I die.

Blogging Journey

4668days

since our first blog post.

Words Quiz


Quotes

The strong do what they can and the weak suffer what they must.

Privacy is your right and ability to be yourself and express yourself without the fear that someone is looking over your shoulder and that you might be punished for being yourself, whatever that may be.

It is quality rather than quantity that matters.

I WANT Internet Freedom.

Reality made most of people lost their childishness.

Justice,Freedom,Knowledge.

Without music life would be a mistake.

Support/Donate

This site also need a little money to maintain operations, not entirely without any cost in the Internet. Your donations will be the best support and power of the site.
MethodBitcoin Address
bitcoin1gtuwCjjVVrNUHPGvW6nsuWGxSwygUv4x
buymeacoffee
Register in linode via invitation link and stay active for three months.Linode

Support The Zeitgeist Movement

The Zeitgeist Movement

The Lie We Live

The Lie We Live

The Questions We Never Ask

The Questions We Never Ask

Man

Man

THE EMPLOYMENT

Man

In The Fall

In The Fall

Categories

Android (8)

Announcement (4)

Arduino (2)

Bash (2)

C (3)

C# (5)

C++ (1)

Experience (54)

Flash (2)

Free (13)

Functions (36)

Games (13)

General (63)

Git (3)

HTML (7)

Java (13)

JS (7)

Mood (24)

NAS (2)

Note (34)

Office (1)

OpenWrt (6)

PHP (9)

Privacy (4)

Product (12)

Python (4)

Software (11)

The Internet (26)

Tools (16)

VB.NET (8)

VR (1)

WebHosting (7)

Wi-Fi (5)

XML (4)